最新国产好看的视频,伊人天堂AV在线,国产Aaaaaa视频,蜜臀视频在线观看一区,人妻av色图,密臀久久久精品影片,青青视频免费观看毛片,久草在线观看视,国产三级精品色情在线

jQuery中on方法使用注意事項(xiàng)詳解

 更新時(shí)間:2017年02月15日 09:58:05   作者:一天不碼就慌慌  
本文主要介紹jQuery中on方法使用注意事項(xiàng)。具有很好的參考價(jià)值,下面跟著小編一起來看下吧

on(eventType,[childSelector],[data],fn)

采用事件委托機(jī)制綁定事件,好處是子元素動(dòng)態(tài)加入時(shí)無需再次綁定。

on方法可以傳入childSelector指定添加事件處理函數(shù)的具體子元素,還可以傳入對(duì)象格式的數(shù)據(jù)data,fn函數(shù)內(nèi)部通過event.data.XXX獲取具體參數(shù)。傳入事件處理函數(shù)的data需要在事件綁定時(shí)就確定好,不同于trigger('eventType',[data]),tirgger方法中傳入的data(對(duì)象或數(shù)組形式)是事件發(fā)生時(shí)才計(jì)算的值。

如果同一個(gè)事件處理程序被多次綁定給同一個(gè)元素,觸發(fā)時(shí)就會(huì)執(zhí)行多遍。所以綁定之前,需要先解綁之前的相同事件:

$(“selector”).off("click.xxx").on('click.xxx',function(){…});

如要在同一個(gè)元素上綁定不同事件處理函數(shù),可以用事件的命名空間加以區(qū)分:click.forSpan、click.forDiv。

delegate()的源碼是調(diào)用on()方法,只不過參數(shù)順序變了,所以統(tǒng)一用on()。

事件觸發(fā)順序:

target是觸發(fā)事件的元素,不會(huì)變;currentTarget是事件處理函數(shù)當(dāng)前所在的元素,會(huì)動(dòng)態(tài)變化;delegateTarget是事件處理函數(shù)綁定的對(duì)象,不會(huì)變。

on方法利用了事件冒泡機(jī)制,事件會(huì)從事件源一直冒泡傳遞到document,并觸發(fā)相應(yīng)元素的事件處理函數(shù)(若有)。

事件處理隊(duì)列:從觸發(fā)事件的元素開始,遍歷至delegateTarget,查找childSelector所指定的元素節(jié)點(diǎn),并在事件處理隊(duì)列handlerQueue中壓入事件處理函數(shù),最后將delegateTarget元素直接綁定的事件處理也壓入隊(duì)列(委托事件先于直接綁定的)。

on方法的冒泡過程中,具有事件處理函數(shù)的是delegateTarget元素而不是childSelector元素。

$("div").on('click','span',function(event){
   alert("The span element was clicked.");
 });
 $("p").click(function(event){
   alert("The p element was clicked.");
 });
 $("div").click(function(){
   alert("The div element was clicked.");
 });

點(diǎn)擊span元素時(shí),span元素上沒有綁定事件處理函數(shù),冒泡傳遞到P元素,P元素有直接綁定的事件處理函數(shù),最先彈出P;然后傳遞到最外層div元素,div元素有事件委托,jQuery會(huì)從target (span)遍歷到delegateTarget (div),查找childSelector節(jié)點(diǎn),并壓入事件處理隊(duì)列中。最后壓入delegateTarget (div)元素直接綁定的事件處理函數(shù)。所以會(huì)彈出Span后彈出Div。

以上就是本文的全部?jī)?nèi)容,希望本文的內(nèi)容對(duì)大家的學(xué)習(xí)或者工作能帶來一定的幫助,同時(shí)也希望多多支持腳本之家!

相關(guān)文章

最新評(píng)論

陆川县| 深水埗区| 长乐市| 昭苏县| 宝坻区| 宜良县| 同仁县| 丰顺县| 永宁县| 金秀| 苍南县| 崇礼县| 阿拉善右旗| 左贡县| 嘉义县| 乾安县| 田东县| 安岳县| 绵竹市| 南郑县| 龙陵县| 孝昌县| 兴宁市| 布拖县| 文水县| 资溪县| 梁山县| 荣成市| 莎车县| 吴川市| 武冈市| 苍溪县| 文安县| 商南县| 故城县| 横峰县| 山丹县| 惠东县| 镇坪县| 鹿泉市| 咸丰县|