js事件の捕獲と事件の発泡例

2865 ワード

http://codepen.io/huashiyiqike/pen/qZVdag
addEventListenerはデフォルトでは発泡段階で実行されます。つまり父と子が傍受した時に、子をクリックして先に処理します。父は後処理します。この時に父の処理を止めることができます。trueを逆に設定すると、stopPropagationを追加して、子の処理イベントを阻止できます。
jqueryは発泡だけをサポートします。
<html>
<body id="myid2" class="mystyle your">
 <div id="myid"> father
  <div class="2"> son</div>
  </div>
  
<div id=「jmyid」>jqueryfather
<script type="text/javascript">
Dcument.getElemenntById.addEvent Listener(「click」,function(e){alert},true);Dcument.getElementsByClass Name("2")[0].addEvent Listener("click",function(e){son caled];e.stop Propopop Prop gation();true);x=document.getElements ByTagName('body')[0];(「萼jmyid」).click{alert(「jquery father caled」);event.stopPropagation();}(「.j 2」).click(event){alert(「jquery son caled」);/event.stopPropagation();return false;);
 
  


document.write("Body CSS class: " + x.className);
document.write("<br />");
document.write("An alternate way: ");
document.write(document.getElementById('myid').className);

</script>

</body>
</html>