我需要动态编写函数,同时避免使用全局变量。它们将与事件监听器“连接”。
我目前有一个创建连接的功能。他们收到:
到目前为止,这是我的代码:
create_fun = function (obj, IDX,id) {
var f = function () {document.getElementById(IDX+"_"+id).display = "block";}
obj.addEventListener('click', f,false);
}
此代码运行正常。我在Chrome事件监听器面板中看到了与我想要的对象相关的点击事件。
问题:IDX和id是变量,因为它们不是全局变量,所以它们是未定义的。
在chrome Eventlistener检查中,我看到:
handler = function()
{document.getElementById(IDX +“_”+ id).display =“block”;}
但是,当IDX =“sec1”和id =“3”时,我想看看:
handler = function()
{document.getElementById(“sec1 +”_“+”3“)。display =”block“;}
这可能吗?我该怎么做?
答案 0 :(得分:0)
修复由Function构造函数
给出var f = new Function ( "document.getElementById('"+IDX+"_"+id+"').style.display = 'block';" );
obj.addEventListener('click', f,false);
}