如标题的情况,经常发生,尤其是在一些弹出框上面之类的。
<script>
function zuzhimaopao(){
e.stopPropagation();
}
</script>
一般的google浏览器添加上面此项就可以,但是发现在FF下并不工作,于是有了如下:
function getEvent(){
if(window.event) {return window.event;}
func=getEvent.caller;
while(func!=null){
var arg0=func.arguments[0];
if(arg0){
if((arg0.constructor==Event || arg0.constructor ==MouseEvent
|| arg0.constructor==KeyboardEvent)
||(typeof(arg0)=="object" && arg0.preventDefault
&& arg0.stopPropagation)){
return arg0;
}
}
func=func.caller;
}
return null;
}
//阻止冒泡
function cancelBubble()
{
var e=getEvent();
if(window.event){
//e.returnValue=false;//阻止自身行为
e.cancelBubble=true;//阻止冒泡
}else if(e.preventDefault){
//e.preventDefault();//阻止自身行为
e.stopPropagation();//阻止冒泡
}
}
只要在你的方法最后插入
cancelBubble();
就可以了。
很实用