js防止事件冒泡
阿新 • • 發佈:2018-12-17
不同瀏覽器的事件物件:
window.event(其中window可以省略不寫)代表著事件物件的狀態。只有在事件發生時生效。如滑鼠、鍵盤等事件被觸發時這個
物件才存在。window.event這隻在IE下是這樣的,也就是說其他瀏覽器並不支援。window.event的某些屬性只對特定的事件
有意義。如下例子:
function et()
{
alert(event);//chome、IE: [object]; 火狐:undefined;
}
相容不同瀏覽器的事件冒泡有以下兩種方式:
方式1(傳事件引數):
<a href="javascript:aa(even)" >防止冒泡</a>
<script>
function aa(e){
var e=e||window.event;
e.stopPropagation();//阻止事件的傳播(包括捕獲也包括冒泡)
}
</script>
方式2(不傳事件引數):參考
<a href="javascript:aa()">防止冒泡</a>
<script>
function aa(){
var e=arguments.callee.caller.arguments[0 ] || window.event; // 相容火狐
e.stopPropagation(); //防止事件冒泡
}
</script>