您好,登錄后才能下訂單哦!
關于on方法中的委托事件,官方JQ API如下:
http://api.jquery.com/on/#on-events-selector-data-handler
參考大牛阮一峰的博文:
http://www.ruanyifeng.com/blog/2011/08/jquery_best_practices.html
什么時候使用委托事件:
1.對未被創建的元素添加事件監聽
2.避免頻繁添加或刪除event handler,委托父元素來進行事件處理
使用委托事件的優點:
1.大量減少監聽元素的開銷
使用實例
$( "#dataTable tbody" ).on( "click", "tr", function() { console.log( $( this ).text() ); });
使用后果,不用每個tr都進行事件綁定,只需要在tbody處進行綁定即可,委托tbody進行對tr點擊的響應。
對于on的第二個參數,官方API的解釋是:對觸發事件元素的后代元素的過濾
個人理解:
過濾之后,this變成tr,事件冒泡到tbody,然后對tr進行操作。
其實on的底層是用了addEventListener,所謂的委托,其實就是借用事件冒泡機制,而且可以指定event.target和event.currentTarget(==this)來指定哪個事件對象
免責聲明:本站發布的內容(圖片、視頻和文字)以原創、轉載和分享為主,文章觀點不代表本網站立場,如果涉及侵權請聯系站長郵箱:is@yisu.com進行舉報,并提供相關證據,一經查實,將立刻刪除涉嫌侵權內容。