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

时间:2023-03-09 00:01:12
js动态绑定click事件时function传参问题

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

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

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

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

 function add_book_panel(infor){
//在这个函数中进行DOM元素操作,需要传入参数infor

var button = document.createElement("button");
button.setAttribute("infor",infor);
button.addEventListener("click", function(){
document.getElementById("id").innerText = this.getAttribute('infor');
});

}