首页 > 技术文章 > js动态绑定click事件时function传参问题

duolk 2016-10-22 15:31 原文

今天碰到了这样一个问题,我在javascript中动态创建了一个button,

然后我想给改button添加click事件,绑定的function想要传入一个变量参数,

一开始我想直接通过函数传参传进来,然而不知道为什么,click事件无法正常响应,

最后发现可以这么做,将需要传入的参数加入button的属性中,然后通过getAttribute()获得:

 1 function add_book_panel(infor){    
 2     //在这个函数中进行DOM元素操作,需要传入参数infor
 3  4     var button = document.createElement("button");
 5     button.setAttribute("infor",infor);
 6     button.addEventListener("click", function(){
 7         document.getElementById("id").innerText = this.getAttribute('infor');
 8     });
 9 10 }

 

推荐阅读