您的位置:首页 > Web前端 > JavaScript

js阻止事件冒泡——hack方法和对象方法

2011-11-18 00:40 537 查看
hack方法:

<div id="btn">bbbbbbbbbbbbb</div>

btn.onclick = function(event){

alert("div clicked!");

if(0/*/*@cc_on+1@*/){ //判断浏览器是否是ie

window.event.cancelBubble = true; //阻止ie浏览器事件的冒泡

}else{

event.stopPropagation(); //阻止符合w3c的浏览器的冒泡事件

}

};

document.body.onclick = function(){

alert("body clicked");

}

对象方法:

var btn = document.getElementById("btn");

btn.onclick = function (event) {

alert("div clicked!");

var event = EventUtil.getEvent(event);//得到浏览器所符合的事件对象

EventUtil.stopPropagation(event);

};

document.body.onclick = function () {

alert("body clicked");

};

EventUtil = {

getEvent: function (event) { //w3c 事件对象都会传入event对象。

return event ? event : window.event; //IE中的event对象是作为window对象的一个属性存在。

},

stopPropagation: function (event) {

if (event.stopPropagation) {

event.stopPropagation(); //阻止ie浏览器事件的冒泡

} else {

event.cancelBubble = true; //阻止符合w3c的浏览器的冒泡事件

}

}

}
内容来自用户分享和网络整理,不保证内容的准确性,如有侵权内容,可联系管理员处理 点击这里给我发消息
标签: