首頁  >  文章  >  web前端  >  詳解jQuery事件流的順序

詳解jQuery事件流的順序

零下一度
零下一度原創
2017-06-17 17:38:341335瀏覽

為您提供jQuery事件流的順序等資源,歡迎您收藏本站,我們將為您提供最新的jQuery事件流的順序資源

<p id="aaron">    <p id=&#39;test&#39;>         <ul>             <p>点击p被委托,ul被阻止了,因为内部重写了事件对象</p>         </ul>    </p> </p>v>

測試程式碼

var aaron = $("#aaron") //同一个元素上绑定不同的事件委托 aaron.on(&#39;mousedown&#39;,&#39;p&#39;,function(e){     console.log(&#39;委托到p触发&#39;)   // e.stopPropagation() }) aaron.on(&#39;mousedown&#39;,&#39;ul&#39;,function(e){     console.log(&#39;被阻止了&#39;) })  aaron.on(&#39;mousedown&#39;,function(e){   console.log(&#39;mousedown&#39;) })  $("#test").on(&#39;mousedown&#39;,function(){   console.log(&#39;test&#39;) })  $("body").on(&#39;mousedown&#39;,function(){   console.log(&#39;body&#39;) })

觸發的的結果:

test 委托到p触发 被阻止了 mousedown body

根據W3C的事件流,捕獲到目標到冒泡

可以看到

p,ul節點雖然比#test p節點更早接觸到target但是由於p,ul是綁定在#aaron p上的冒泡,所以優先權要低於#test

但是同一個元素的優先級,就要根據元素的巢狀順序了。反正一句話離目標taget越近的越早觸發

以上是詳解jQuery事件流的順序的詳細內容。更多資訊請關注PHP中文網其他相關文章!

陳述:
本文內容由網友自願投稿,版權歸原作者所有。本站不承擔相應的法律責任。如發現涉嫌抄襲或侵權的內容,請聯絡admin@php.cn