Posted in Javascript onJanuary 12, 2014
关于event.cancelBubble,由于HTML中的对象都是层次结构,比如一个Table包含了多个TR,一个TR包含了多个TD
Bubble就是一个事件可以从子节点向父节点传递,比如鼠标点击了一个TD,当前的event.srcElement就是这个TD,但是这种冒泡机制使你可以从TR或者Table处截获这个点击事件,但是如果你event.cancelBubble,则就不能上传事件。
例子:
<html> <body> <table border="1" width="26%" id="tableA" onclick="alert('tableA')"> <tr onclick="tableA_rowA_click()"> <td width="106">一般</td> </tr> <tr onclick="tableA_rowB_click()"> <td width="106">阻止消息上传</td> </tr> </table> <p> </p> </body> </html> <!-- --> <script language="javascript"> <!-- function tableA_rowA_click(){ alert('tableA_rowA'); } function tableA_rowB_click(){ alert('tableA_rowB'); event.cancelBubble=true; } //--> </script>
event.cancelBubble阻止事件冒泡,event.cancelBubble=true;
取消事件冒泡,在 IE 的事件机制中,触发事件会从子元素向父元素逐级上传,就是说,如果子元素触发了单击事件,那么也会触发父元素的单击事件;event.cancelBubble=true;可以停止事件继续上传补充一点,Ie的事件传递是从下到上的:
IE的事件传递-event.cancelBubble示例介绍
声明:登载此文出于传递更多信息之目的,并不意味着赞同其观点或证实其描述。
Reply on: @reply_date@
@reply_contents@