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的浏览器的冒泡事件
}
}
}
<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的浏览器的冒泡事件
}
}
}
相关文章推荐
- js阻止事件冒泡的两种方法
- js冒泡、捕获事件及阻止冒泡方法详细总结
- react阻止冒泡事件(使用原生js方法)
- js冒泡、捕获事件及阻止冒泡方法详细总结
- js 阻止事件冒泡的两种方式的方法实例
- JS阻止事件冒泡的3种方法之间的不同
- JS阻止事件冒泡的3种方法之间的不同
- zepto.js中tap事件阻止冒泡的方法
- JS阻止冒泡事件以及默认事件发生的简单方法
- JS事件冒泡及阻止冒泡3种方法之间的不同
- 阻止js事件冒泡的方法
- JS阻止事件冒泡的3种方法之间的不同
- js阻止事件冒泡的方法:
- JS,Jquery中事件冒泡以及阻止事件冒泡方法
- JS的事件冒泡及其阻止方法
- JS阻止冒泡事件以及默认事件发生的简单方法
- JS阻止事件冒泡的3种方法之间的不同
- zepto.js中tap事件阻止冒泡的实现方法
- js阻止事件冒泡的方法
- js冒泡、捕获事件及阻止冒泡方法