js事件跨浏览器处理
1.DOM 0 级事件。
2.DOM 2 级事件(addEventListener(),removeEventListener());IE中与之相同的是attachEvent(),detachEvent()。
3.跨浏览器封装方法:
<input type="button" id="testevent" value="按钮"> function showMes() { alert('调用成功'); } var btn = document.getElementById('testevent'); //跨浏览器事件处理,检测支持的类型 var eventutil = { //添加句柄 addHandler: function (element, type, handler) { if (element.addEventListener) { element.addEventListener(type, handler, false);//false指定事件机制是冒泡 } else if (element.attachEvent) { element.attachEvent('on'+type, handler);//IE下不需要设置boolean值,事件机制为事件捕获 } else {
//DOM 0级 element['on' + type] = handler; } }, //删除句柄 removeHandler: function (element, type, handler) { if (element.removeEventListener) { element.removeEventListener(type, handler, false);//false指定事件机制是冒泡 } else if (element.detachEvent) { element.detachEvent('on' + type, handler);//IE下不需要设置boolean值,事件机制为事件捕获 } else { element['on' + type] = null; } } } eventutil.addHandler(btn, "click", showMes);
浙公网安备 33010602011771号