我有一个复选框的HTML列表,但我不知道如何让'document.attachEvent'在onclick上找到这些复选框?
我不确定我是否可以设置特定于IE的事件模型,然后在document.attachEvent
创建一个for循环,遍历每个复选框并处理每个复选框?此外,我的复选框名称各有不同,所以我不能checkboxname.attachEvent
,除非我对每个复选框都这样做。
我的元素足够动态,我尝试将en事件添加到最广泛的祖先,这是我可以使用该事件来获取目标并输入无效的文档。
非常感谢。
答案 0 :(得分:1)
对您的代码进行了一些修复:
document.attachEvent('onclick', function (e) {
var target = e.srcElement;
if (target.type === 'checkbox') {
if(target.checked){
button.disabled = false;
} else {
button.disabled = true;
}
}
});
IE的事件处理模型中没有使用第三个参数。 e.srcElement
指的是点击的元素。
我建议你将复选框包装在div
或其他元素中,然后将事件监听器附加到包装器。当您的页面变大时,检查文档上的所有点击将是一项耗时的操作。如果您只有一个复选框,最好将处理程序附加到其自身。