//方案1: 不好的写法
function processEvent(e){
e = arguments.callee.caller.arguments[0] || e;
if(e && e.stopPropagation){
e.stopPropagation();
}else if(window.event){
window.event.cancelBubble = true;
}
if(e && e.preventDefault){
e.preventDefault();
}else if(window.event){
window.event.returnValue = false;
}
}
// 方案2:建议使用此方案
// 阻止冒泡
function processBubble(e){
e = arguments.callee.caller.arguments[0] || e;
if(e && e.stopPropagation){
e.stopPropagation();
}else if(window.event){
window.event.cancelBubble = true;
}
}
// 阻止浏览器默认行为
function processDefault(e){
e = arguments.callee.caller.arguments[0] || e;
if(e && e.preventDefault){
e.preventDefault();
}else if(window.event){
window.event.returnValue = false;
}
}
// 阻止冒泡和默认行为
function processBubbleAndDefault(e){
processBubble(e);
processDefault(e);
}
阻止事件冒泡和取消浏览器默认行为
猜你喜欢
转载自my.oschina.net/u/1773772/blog/1623559
今日推荐
周排行