js 兼容性之阻止事件冒泡传递
2011-05-23 14:10
363 查看
有时候在document.onclick上绑定了事件,但在单击某些地方的时候不希望触发document上的click事件,则可以在方法里阻止其事件的冒泡,例如:
var btn = document.getElementById("btn");
btn.onclick=function(event){
alert('clicked');
event.stopPropagation();
}
document.body.onclick = function(event){
alert('body clicked');
}
有了event.stopPropagation();方法,就可以使在点击按钮时不触发下面的body.click事件。
在IE下不支持此方法,但可以利用其event.cancelBubble属性设置为true阻止。综上所述,例如:
var btn = document.getElementById("btn");
btn.onclick=function(event){
alert('clicked');
if(event.stopPropagation)
event.stopPropagation();
else
event.cancelBubble = true;
}
以上代码可以兼容的解决此问题。
var btn = document.getElementById("btn");
btn.onclick=function(event){
alert('clicked');
event.stopPropagation();
}
document.body.onclick = function(event){
alert('body clicked');
}
有了event.stopPropagation();方法,就可以使在点击按钮时不触发下面的body.click事件。
在IE下不支持此方法,但可以利用其event.cancelBubble属性设置为true阻止。综上所述,例如:
var btn = document.getElementById("btn");
btn.onclick=function(event){
alert('clicked');
if(event.stopPropagation)
event.stopPropagation();
else
event.cancelBubble = true;
}
以上代码可以兼容的解决此问题。
相关文章推荐
- js 兼容性之阻止事件冒泡传递
- 了解DOM的事件流,Js事件捕获与冒泡分析,JS阻止事件传递!
- Atitit. Js 冒泡事件阻止 事件捕获 事件传递 事件代理
- Atitit. Js 冒泡事件阻止 事件捕获 事件传递 事件代理
- Atitit. Js 冒泡事件阻止 事件捕获 事件传递 事件代理
- js中对于浏览器的冒泡和阻止默认事件的兼容性写法
- JS阻止DOM事件冒泡
- 阻止JavaScript事件冒泡传递
- 阻止事件冒泡和浏览器默认行为,考虑兼容性
- JS 阻止事件冒泡
- js阻止事件冒泡
- js 兼容阻止事件冒泡stopPropagation
- Js阻止事件冒泡和document.onclick在IE浏览器上无效
- js阻止事件冒泡和标签默认行为
- JQUERY中的事件处理:RETURN FALSE、阻止默认行为、阻止冒泡以及兼容性问题
- Js 冒泡事件阻止实现代码
- js中阻止事件冒泡
- js 阻止事件冒泡
- js事件冒泡、事件捕获和阻止默认事件详解
- js添加事件、移除事件、阻止冒泡、阻止浏览器默认行为等写法(兼容IE/FF/CHROME)