跨浏览器事件处理
dom0事件为直接在元素上写方法;
dom2事件是通过添加Listener方法来进行函数调用;
var but = document.getElementById('but');
function view() { alert("value"); }
var eventUtil = { 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;
//在JS中[]是可以替换.的
}
},
removeHandler:function(element, type, handler) { if (element.removeEventListener) { element.removeEventListener(type, handler, false); }
else if(element.detachEvent) { element.detachEvent('on'+type,handler); }
else { element['on'+type] = null;
}
}
}
eventUtil.addHandler(but, 'click', view);
<input type="button" id="but" value="Hello"/>
封装了一个名为eventUtil的方法通过调用addHandler方法来实现跨浏览器事件方法;在JS中[]是可以替换.的
知识点为:IE事件的监听需要添加‘on’关键字,火狐及chrome的事件监听不需要直接写click即可;