我试图将EventListener不断添加到所有输入元素。
但是,当我添加EventListener时,会触发该函数。
window.onload = window.setInterval(function () {
var frame = document.getElementsByTagName("FRAME");
for (var i = 0; i < frame.length; i++) {
frame_doc = frame[i].contentWindow.document || frame[i].contentDocument;
var elem = frame_doc.getElementsByTagName("INPUT");
for (var j = 0; j < elem.length; j++)
if (elem[i]) {
alert(true);
//if(typeof elem[i].onclick === "function")
//removeEvent(elem[i], "click", check());
addEvent(elem[i], "click", check());
}
}
}, 50);
function addEvent(elem, event, fn) {
if (elem.addEventListener) {
elem.addEventListener(event, fn, false);
} else {
elem.attachEvent("on" + event, function () {
return (fn.call(elem, window.event));
});
}
}
function check() {
//Do Something
}
因为在将事件绑定到新元素上时正在调用函数。当使用check()
绑定事件时,将check
调用该函数。您可以删除()
的check
addEvent(elem[i], "click", check());
应该
addEvent(elem[i], "click", check); // removed () of check
本文收集自互联网,转载请注明来源。
如有侵权,请联系[email protected] 删除。
我来说两句