关于对跨浏览器实现的事件处理程序
今天上网看了许多关于js的dom事件的内容。其中呢,对于跨浏览器实现的事件处理程序的封装方法很感兴趣。主要呢就是对于ie和其他主流的浏览器的差别。
var eventUtil = { //添加dom事件处理程序 //添加的属性 addHandler:function(element,type,handler){ if (element.addEventListener) { element.addEventListener(type,handler,false); }else if(element.attachEvent){ element.attachEvent('on'+type,handler); }else{ element['on'+type]=handler; } }, //删除dom事件处理程序 removeHandler:function(element,type,handler){ if(element.removerEventListener){ element.removerEventListener(type,handler,false); }else if (element.detachEvent) { element.detachEvent('on'+type,handler); }else{ element['on'+type]=null; } } }
关于其中的element['on'+type]是因为element.后无法与字符串连接。而element[]等价于element.
关于是否加on,是因为ie的事件处理程序与别的浏览器不同导致。事件的type有的是dom2级中是click而由于ie8之前不兼容dom2级事件处理,则需要用type为onclick的ie时间处理程序。
相关推荐
Kakoola 2020-08-01
bearhoopIT之道 2020-08-16
凯哥Java 2020-07-04
haidaoxianzi 2020-07-04
delmarks 2020-06-28
aNian 2020-06-16
qingjiuquan 2020-06-07
fraternityjava 2020-06-04
明瞳 2020-06-04
HappyHeng 2020-05-28
88473166 2020-05-14
zkwgpp 2020-05-07
oXiaoChong 2020-05-07
ChainDestiny 2020-05-07
doomvsjing 2020-05-07
xuMelon 2020-05-04
MrLiar 2020-04-27