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>