您好,登錄后才能下訂單哦!
這篇文章主要介紹了jquery事件委托方法怎么用的相關知識,內容詳細易懂,操作簡單快捷,具有一定借鑒價值,相信大家閱讀完這篇jquery事件委托方法怎么用文章都會有所收獲,下面我們一起來看看吧。
jquery事件委托方法有:1、blind()方法,主要用于給選擇到的元素進行事件綁定;2、live()方法,向當前或未來的匹配元素添加一個或多個事件處理器;3、delegate()方法;4、on()方法,用于將監聽事件綁定到就近父級元素。
本教程操作環境:windows7系統、jquery1.10.2版本、Dell G3電腦。
什么是事件委托?
子元素的事件委托給父元素,而不是分給子元素自己去綁定事件,然后觸發事件的時候找到對應的event.target
是指利用事件冒泡,只指定一個事件處理程序,來管理某一類型的所有事件
為什么要用事件委托?
因為在js中添加到頁面的事件處理程序個數會影響到頁面的整體運行性能
其次對列表逐個添加事件處理程序太過于麻煩,所以,事件委托極大地提高了頁面運行的性能
通過for循環給ul底下的li遍歷綁定事件,看似沒有問題但實際非常影響頁面的運行性能
此時,就用到冒泡模式的事件委托來解決
然而,有會想到綁定給ul的事件,實現后豈不是每個li都會受影響嗎?
出此案了新概念:事件源:不管事件綁定在那個元素中,都指的是實際觸發事件的內個目標
event.target
eg:ul.onclick=function(event){}
簡單點就是 減少DOM訪問,減少內存,提高頁面的運行性能
jquery事件委托方法有哪些
1、blind
定義和用法:主要用于給選擇到的元素進行事件綁定
語法:
blind("事件類型",data,function(){ }); //data是傳入函數的參數用event.data獲取(平時用的.click()等都是其簡化用法)
特點;適用于靜態頁面,只能給調用它時已存在的元素綁定,不能給未來新增的元素綁定
當頁面加載完時,才進行blind;
2、live(1.7以后不支持)
定義:向當前或未來的匹配元素添加一個或多個事件處理器;
語法:
live("事件類型",data, 函數名);//data可選
特點:live并沒有將事件綁定到自身(this)上,而是綁定到this.context上
正是利用了事件委托機制完成事件的監聽處理,把節點的處理委托給 document
新添加的元素不必再綁定一次監聽器,可多事件處理
只能放在直接選擇的元素的后面
3、delegate
定義:將監聽事件綁定到就近父級元素,因為事件可以更快的冒泡上去
語法:
delegate(selector,type,[data],fn)
特點:更精確的小范圍使用事件代理,性能優于.live()。可以用在動態添加的元素上。
("父級選擇器").delegate(".a","click",function())//表示:.a的事件通過父級元素進行委托,(this)獲取的是觸發事件的子元素
4、on
定義;將監聽事件綁定到就近父級元素
語法:
on(type, 選擇器,方法)
特點:給父元素底下新添加的標簽也可以用監聽事件
也支持多時事件處理
關于“jquery事件委托方法怎么用”這篇文章的內容就介紹到這里,感謝各位的閱讀!相信大家對“jquery事件委托方法怎么用”知識都有一定的了解,大家如果還想學習更多知識,歡迎關注億速云行業資訊頻道。
免責聲明:本站發布的內容(圖片、視頻和文字)以原創、轉載和分享為主,文章觀點不代表本網站立場,如果涉及侵權請聯系站長郵箱:is@yisu.com進行舉報,并提供相關證據,一經查實,將立刻刪除涉嫌侵權內容。