js动态绑定click事件时function传参问题

Posted

tags:

篇首语:本文由小常识网(cha138.com)小编为大家整理,主要介绍了js动态绑定click事件时function传参问题相关的知识,希望对你有一定的参考价值。

今天碰到了这样一个问题,我在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 }

 

以上是关于js动态绑定click事件时function传参问题的主要内容,如果未能解决你的问题,请参考以下文章

jquery on()绑定的点击事件在js动态新添加的元素上无效

jquery on()绑定的点击事件在js动态新添加的元素上无效,请问为啥

JS动态插入HTML后不能执行后续JQUERY操作

给新生成的节点(动态生成节点)绑定事件方法总结

js给动态添加的元素绑定事件

怎么按元素id 使用js为页面元素绑定click()方法?