欧美bbbwbbbw肥妇,免费乱码人妻系列日韩,一级黄片

jQuery事件委托代碼實踐詳解

 更新時間:2019年06月21日 08:25:16   作者:wishyouhappy  
這篇文章主要介紹了jQuery事件委托代碼實踐詳解, 事件委托是利用事件冒泡,只指定一個事件處理程序來管理某一類型的所有事件。,需要的朋友可以參考下

javascript的事件模型,采用"冒泡"模式,子元素的事件會逐級向上"冒泡",成為父元素的事件。

在需要為較多的元素綁定事件時應該使用事件委托 event delegation

javascript事件傳播

html如下:

<body>
<table>
<tr><td id="targetTd"></td><td></td><td></td></tr>
<tr><td></td><td></td><td></td></tr>
</table>
</body>

添加腳本:

targetTd.onclick = function (event) {
console.log("Td is clicked");
};
document.body.onclick = function (event) {
console.log("Body is clicked");
};

點擊td targetTd,結(jié)果如下:

Td is clicked
Body is clicked

使用stopPropagation可以阻止事件的傳播(ie下使用cancelBubble)

eg:

targetTd.onclick = function (event) {
console.log("Td is clicked");
event.stopPropagation();
};
document.body.onclick = function (event) {
console.log("Body is clicked");
};

點擊td targetTd,結(jié)果如下:

Td is clicked 

js事件委托

如果我們想給上面的table中所有的td添加點擊事件,可以通過循環(huán)綁定,或者是采用事件委托方式,如下:

document.body.onclick = function (event) {
if(event.target.tagName === "TD"){
console.log(event.target.tagName+" is clicked");
}
};

jQuery事件委托

jquery 事件綁定 on 方法定義如下:

.on( events [, selector ] [, data ], handler(eventObject) )

取消事件的綁定可以使用off

$(document).off("click", "td");

給td綁定點擊事件可以使用:

$("td").on("click", function(e){
console.log(e.target.tagName+" is clicked");
});

加入selector參數(shù),使用事件委托

$("table").on("click", "td", function(){
console.log(e.target.tagName+" ");
});

或者:

$(document).on("click", "td", function(){
console.log(e.target.tagName+" ");
});

此時事件冒泡到document或者table時會監(jiān)測是否是td selector,匹配時會觸發(fā)事件

相關文章

  • jQuery利用FormData上傳文件實現(xiàn)批量上傳

    jQuery利用FormData上傳文件實現(xiàn)批量上傳

    這篇文章主要為大家詳細介紹了jQuery利用FormData上傳文件實現(xiàn)批量上傳功能,具有一定的參考價值,感興趣的小伙伴們可以參考一下
    2018-12-12
  • jquery彈出遮掩層效果【附實例代碼】

    jquery彈出遮掩層效果【附實例代碼】

    下面小編就為大家?guī)硪黄猨query彈出遮掩層效果【附實例代碼】。小編覺得挺不錯的,現(xiàn)在分享給大家,也給大家做個參考,一起跟隨小編過來看看吧
    2016-04-04
  • jQuery實現(xiàn)的動態(tài)文字變化輸出效果示例【附演示與demo源碼下載】

    jQuery實現(xiàn)的動態(tài)文字變化輸出效果示例【附演示與demo源碼下載】

    這篇文章主要介紹了jQuery實現(xiàn)的動態(tài)文字變化輸出效果,采用jquery.quoterotator.min.js插件實現(xiàn)了文字動態(tài)變換顯示的功能,并附帶演示與demo源碼供讀者下載參考,需要的朋友可以參考下
    2017-03-03
  • jQuery+CSS3實現(xiàn)樹葉飄落特效

    jQuery+CSS3實現(xiàn)樹葉飄落特效

    本文給大家分享的是一段使用jQuery+CSS3實現(xiàn)樹葉飄落特效的代碼,效果非常不錯,分享給大家,希望大家能夠喜歡
    2015-02-02
  • jquery——九宮格大轉(zhuǎn)盤抽獎實例

    jquery——九宮格大轉(zhuǎn)盤抽獎實例

    本篇文章主要介紹了jquery——九宮格大轉(zhuǎn)盤抽獎實例,小編覺得挺不錯的,現(xiàn)在分享給大家,也給大家做個參考。一起跟隨小編過來看看吧
    2017-01-01
  • 詳解jQuery中的empty、remove和detach

    詳解jQuery中的empty、remove和detach

    empty、remove和detach三者都有把元素移除的作用,但細微的差別,造就了它們的使命不同。下面給大家介紹jQuery中的empty、remove和detach的區(qū)別,感興趣的朋友一起學習吧
    2016-04-04
  • jQuery?UI組件介紹

    jQuery?UI組件介紹

    這篇文章介紹了jQuery的UI組件,對大家的學習或者工作具有一定的參考學習價值,需要的朋友們下面隨著小編來一起學習學習吧
    2022-06-06
  • JQuery Ajax執(zhí)行跨域請求數(shù)據(jù)的解決方案

    JQuery Ajax執(zhí)行跨域請求數(shù)據(jù)的解決方案

    今天小編就為大家分享一篇關于JQuery Ajax執(zhí)行跨域請求數(shù)據(jù)的解決方案,小編覺得內(nèi)容挺不錯的,現(xiàn)在分享給大家,具有很好的參考價值,需要的朋友一起跟隨小編來看看吧
    2018-12-12
  • javaScript和jQuery自動加載簡單代碼實現(xiàn)方法

    javaScript和jQuery自動加載簡單代碼實現(xiàn)方法

    給大家介紹一下利用javaScript和jQuery實現(xiàn)自動加載最簡單的代碼寫法。
    2017-11-11
  • 深入理解(function(){... })();

    深入理解(function(){... })();

    很多朋友不清楚(function(){... })();這幾種寫法各代表是什么意思,下面小編通過本教程給大家簡單介紹下(function(){... })();知識,感興趣的朋友跟著小編一起學習吧
    2016-08-08

最新評論