日韩性视频-久久久蜜桃-www中文字幕-在线中文字幕av-亚洲欧美一区二区三区四区-撸久久-香蕉视频一区-久久无码精品丰满人妻-国产高潮av-激情福利社-日韩av网址大全-国产精品久久999-日本五十路在线-性欧美在线-久久99精品波多结衣一区-男女午夜免费视频-黑人极品ⅴideos精品欧美棵-人人妻人人澡人人爽精品欧美一区-日韩一区在线看-欧美a级在线免费观看

歡迎訪問 生活随笔!

生活随笔

當前位置: 首頁 > 前端技术 > HTML >内容正文

HTML

js 停止事件冒泡 阻止浏览器的默认行为

發布時間:2025/3/20 HTML 41 豆豆
生活随笔 收集整理的這篇文章主要介紹了 js 停止事件冒泡 阻止浏览器的默认行为 小編覺得挺不錯的,現在分享給大家,幫大家做個參考.

在前端開發工作中,由于瀏覽器兼容性等問題,我們會經常用到“停止事件冒泡”和“阻止瀏覽器默認行為”。

瀏覽器默認行為:

在form中按回車鍵就會提交表單;單擊鼠標右鍵就會彈出context menu.

a標簽

1..停止事件冒泡

JavaScript代碼

?

1 //如果提供了事件對象,則這是一個非IE瀏覽器 2 if ( e && e.stopPropagation ) 3 //因此它支持W3C的stopPropagation()方法 4 e.stopPropagation(); 5 else 6 //否則,我們需要使用IE的方式來取消事件冒泡 7 window.event.cancelBubble = true; 8 return false;

2.阻止瀏覽器的默認行為

JavaScript代碼

1 element.onclick = function(event) { 2 3 event = event || window.event; 4 5 //如果提供了事件對象,則這是一個非IE瀏覽器 6 7 if (event&& event.preventDefault) { 8 9   //阻止默認瀏覽器動作(W3C) 10 11 event.preventDefault(); 12 13 } else { 14 15    //IE中阻止函數器默認動作的方式 16 17 window.event.returnValue = false; 18 19 } 20 21   //event.preventDefault?event.preventDefault():(event.returnValue = false); 22 23 }

或者直接返回false:

element.onclick = function(event) { //... return false; }

但是在使用return false時必須注意:
1、jQuery有自己的事件處理層,也對處理程序做了封裝,如果事件處理程序返回false,事件冒泡和瀏覽器默認事件都會被阻止。
2、使用原生javaScript,在事件處理程序中返回false只會阻止瀏覽器默認行為,而事件冒泡依然存在。
3、瀏覽器默認行為和事件冒泡是相互獨立的。阻止事件冒泡不會影響默認行為,反之亦然。

注意:
有一些瀏覽器行為是在事件處理程序執行前發生的,也就是說這些默認行為是無法取消的,如:在大部分瀏覽器上鼠標移到一個超鏈接上超鏈接的樣式會發生改變,這個動作是發生在focus事件之前的,是focus事件處理程序中無法取消的。

?

摘自:http://blog.csdn.net/jquery_qq/article/details/51568816

http://www.cnblogs.com/yuzhongwusan/archive/2008/12/27/1363417.html

轉載于:https://www.cnblogs.com/beileixinqing/p/6503688.html

總結

以上是生活随笔為你收集整理的js 停止事件冒泡 阻止浏览器的默认行为的全部內容,希望文章能夠幫你解決所遇到的問題。

如果覺得生活随笔網站內容還不錯,歡迎將生活随笔推薦給好友。