摘要:在說事件委托之前先介紹一下事件冒泡。什么是事件委托事件委托就是講事件監聽器加在所要綁定元素的父元素上,為避免給每個特定的節點增加事件監聽,避免在特定節點被刪除時還要再刪除它的綁定事件。
在說事件委托之前,先介紹一下事件冒泡。
什么是javascript事件冒泡?根據紅寶書,事件開始是由最具體的元素接受,然后逐級傳播到較為不具體的節點
例如:
Document
如果單擊了div,則click事件會按照如下順序傳播
(1)div
(2)body
(3)html
(4)document
因為事件冒泡的原理,我們就可以將事件綁定在不具體的父元素上,點擊具體的子元素,觸發其父元素的事件,這就是事件委托。
什么是javascript事件委托?事件委托就是講事件監聽器加在所要綁定元素的父元素上,為避免給每個特定的節點增加事件監聽,避免在特定節點被刪除時還要再刪除它的綁定事件。
例子:
然后,再介紹jQuery事件委托。
jQuery事件委托這是我在調用bootstrap框架時要使用bootstrap的日歷控件
發現如果是動態添加的元素,無法為新添加的元素增加事件,所以是無效的,所以我們應該將點擊生成日歷控件這個方法綁定在它的父元素上,使用jQuery中的on方法
$(selector).on(event,childSelector,data,function,map),
具體實現:
$parent.on("focus",".datetimepicker",function(){ $(this).datetimepicker({ language: "fr", format:"yyyy-mm-dd", todayBtn: 1, autoclose: 1, todayHighlight: 1, startView: 2, minView: 2, forceParse: 0 }); }); 還有一個方法是live(),不過在jQuery1.7中已被廢棄,由on()取代,就不提啦。
文章版權歸作者所有,未經允許請勿轉載,若此文章存在違規行為,您可以聯系管理員刪除。
轉載請注明本文地址:http://specialneedsforspecialkids.com/yun/86703.html
摘要:源碼源碼行被點擊了點擊了,即委托的事件被點擊了優先添加委托,再添加其他即委托在上的事件數量在下標為的位置插入委托事件解析可以看到,是優先添加委托事件,再添加自身事件,觸發事件的時候也是按這個順序。 showImg(https://segmentfault.com/img/remote/1460000019419722); 前言:請先回顧下我之前寫的一篇文章:JavaScript之事件委...
摘要:十的觸發機制被點擊了元素本身綁定了一個事件,但是是原生事件,它是靠綁定來觸發事件的。 showImg(https://segmentfault.com/img/remote/1460000019505402); 前言:最重要的還是最后的流程圖,可以試著根據流程圖手寫實現$().on(),下篇文章會放出模擬實現的代碼。 一、舉例 這是A 這是C ...
摘要:概念事件委托,通俗來說就是將元素的事件委托給它的父級或者更外級元素處理。級事件規定的事件流包括三個階段事件捕獲目標階段事件冒泡原理事件委托就是利用事件冒泡機制實現的。最適合采用事件委托技術的事件包括和。 概念 事件委托,通俗來說就是將元素的事件委托給它的父級或者更外級元素處理。 事件流 事件流描述的是從頁面中接收事件的順序。 事件冒泡:事件開始由最具體的元素接收,然后逐級向上傳播到較為...
閱讀 2111·2021-11-24 10:28
閱讀 1117·2021-10-12 10:12
閱讀 3337·2021-09-22 15:21
閱讀 679·2021-08-30 09:44
閱讀 1895·2021-07-23 11:20
閱讀 1147·2019-08-30 15:56
閱讀 1751·2019-08-30 15:44
閱讀 1483·2019-08-30 13:55