rav*_*404 116 javascript addeventlistener internet-explorer-8
我动态创建了一个复选框.我曾经addEventListener
在点击复选框时调用了一个函数,该复选框适用于Google Chrome和Firefox,但在Internet Explorer 8中不起作用.这是我的代码:
var _checkbox = document.createElement("input");
_checkbox.addEventListener("click", setCheckedValues, false);
Run Code Online (Sandbox Code Playgroud)
setCheckedValues
是我的事件处理程序.
Sud*_*oti 213
尝试:
if (_checkbox.addEventListener) {
_checkbox.addEventListener("click", setCheckedValues, false);
}
else {
_checkbox.attachEvent("onclick", setCheckedValues);
}
Run Code Online (Sandbox Code Playgroud)
更新:: 对于IE9之前的Internet Explorer版本,应使用attachEvent方法将指定的侦听器注册到调用它的EventTarget,对于其他应使用addEventListener.
Zet*_*eta 43
您必须attachEvent
在IE9之前的IE版本中使用.检测是否addEventListener
已定义,attachEvent
如果不是,则使用:
if(_checkbox.addEventListener)
_checkbox.addEventListener("click",setCheckedValues,false);
else
_checkbox.attachEvent("onclick",setCheckedValues);
// ^^ -- onclick, not click
Run Code Online (Sandbox Code Playgroud)
请注意,IE11将删除attachEvent
.
也可以看看:
Ser*_*nko 13
这也是简单的crossbrowser解决方案:
var addEvent = window.attachEvent||window.addEventListener;
var event = window.attachEvent ? 'onclick' : 'click';
addEvent(event, function(){
alert('Hello!')
});
Run Code Online (Sandbox Code Playgroud)
当然,取代"点击"可以是任何事件.
归档时间: |
|
查看次数: |
113532 次 |
最近记录: |