给页面元素添加事件时,我们需考虑浏览器的兼容问题,因为 addEventListener 只在 FF 中适用,而 attachEvent 只在 IE 中适用,同时冒泡事件也类似。
以下代码实现了 IE 与 FF 的兼容,在给页面元素添加事件的同时,阻止了冒泡。
var addEvent = function(o,event,func){
var f = function(){};
if(window.event){
f = function(){
func(window.event);
window.event.stopPropagation();
}
}else{
f = function(e){
func(e);
e.cancelBubble = true;
}
}
if(o.addEventListener){
o.addEventListener(event,f,false);
}else if(o.attachEvent){
o.attachEvent("on"+event,f);
}else{
o["on"+event] = f;
}
}
本文介绍了一种解决跨浏览器事件兼容性问题的方法,并通过一个示例代码展示了如何为页面元素添加事件监听器同时阻止事件冒泡。适用于IE与Firefox等浏览器。
555

被折叠的 条评论
为什么被折叠?



