有时候在document.onclick上绑定了事件,但在单击某些地方的时候不希望触发document上的click事件,则可以在方法里阻止其事件的冒泡,例如:
var btn = document.getElementById("btn");
btn.οnclick=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.οnclick=function(event){
alert('clicked');
if(event.stopPropagation)
event.stopPropagation();
else
event.cancelBubble = true;
}
以上代码可以兼容的解决此问题。