JQuery中event的preventDefault和stopPropagation介紹


event.preventDefault()阻止默認事件行為的觸發。

event.stopPropagation()防止事件冒泡到DOM樹上,也就是不觸發的任何前輩元素上的事件處理函數。

 1 <!DOCTYPE html>
 2 <html xmlns="http://www.w3.org/1999/xhtml">
 3 <head>
 4     <meta http-equiv="Content-Type" content="text/html; charset=utf-8" />
 5     <title>取消form表單提交或a打開的超連接</title>
 6     <script src="/js/jquery-1.8.2.js"></script>
 7     <script language="javascript" type="text/javascript">
 8         $(function () {
 9             $("*").each(function (index, item) {
10                 $(item).bind("click", function (event) {
11                     output("事件源:" + event.target.id + "," + event.target.tagName + ",事件對象:" + event.currentTarget.id);//DOM2會產生冒泡
12                     //取消form表單提交或a打開的超連接
13                     window.alert("begin:" + event.isDefaultPrevented());
14                     event.preventDefault();
15                     window.alert("end:" + event.isDefaultPrevented());
16 
17                     //同樣也支持取消事件冒泡
18                     window.alert("begin:" + event.isPropagationStopped());
19                     event.stopPropagation();
20                     window.alert("end:" + event.isPropagationStopped());
21                 });
22             });
23         });
24         function output(text) {
25             $("#content").append(text + "<br/>");
26         }
27     </script>
28 </head>
29 <body id="body">
30     <div id="parent">
31         <div id="child">
32             點擊這里
33             <a id="link" href="http://www.baidu.com">超連接</a>
34             <form id="form" action="http://www.baidu.com">
35                 <input id="submit" type="submit" value="submit"/>
36             </form>
37         </div>
38     </div>
39     <div id="content">
40     </div>
41 </body>
42 </html>
jquery_event05

 


免責聲明!

本站轉載的文章為個人學習借鑒使用,本站對版權不負任何法律責任。如果侵犯了您的隱私權益,請聯系本站郵箱yoyou2525@163.com刪除。



 
粵ICP備18138465號   © 2018-2025 CODEPRJ.COM