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

Jquery?on("click")方法綁定事件后執(zhí)行多次的解決方法

 更新時間:2023年06月12日 11:05:45   作者:孫三苗  
這篇文章主要給大家介紹了關(guān)于Jquery?on("click")方法綁定事件后執(zhí)行多次的解決方法,文章通過實例代碼以及圖文介紹的非常詳細(xì),對大家學(xué)習(xí)或者使用jQuery具有一定的參考學(xué)習(xí)價值,需要的朋友可以參考下

一、發(fā)現(xiàn)問題

在開發(fā)過程中,無意發(fā)現(xiàn)頁面彈窗按鈕的點擊事件使用on函數(shù)綁定click 時,產(chǎn)生多次請求,從而可能會造成不必要的資源消耗。

舉例:

頁面按鈕:

代碼片段:

let drBox = $('#choiceDetailPopup'),
// 提交
console.log("submitTask start");
drBox.on('click','#submitTask',function(){
    console.log("submitTask click");
    // 處理自己的業(yè)務(wù)邏輯 ……
})

瀏覽器console:

image.png

二、解決問題

使用js動態(tài)加載內(nèi)容,同時需要對加入的內(nèi)容綁定點擊事件的,on(‘click’,function(){}) 對同一個元素多次綁定同一個事件的時候,這個事件就會執(zhí)行多次。

在每次綁定事件之前,對該事件解綁,可以使用的辦法:

.off(“click”); //解除綁定點擊事件
.unbind("click");//移除綁定點擊事件
.unbind(); //移除所有綁定事件

我采用第一種辦法,直接在 on 綁定 click 前,先釋放,再綁定。

原代碼片段修改如下:

let drBox = $('#choiceDetailPopup'),
// 提交
console.log("submitTask start");
drBox.off('click').on('click','#submitTask',function(){
    console.log("submitTask click");
    // 處理自己的業(yè)務(wù)邏輯 ……
})

修改后,瀏覽器console如下:

事件觸發(fā)正常了。

實際的場景可能會復(fù)雜得多,因此在使用on()方法給元素綁定事件的時候要格外注意多次重復(fù)綁定的問題。

總結(jié)

相關(guān)文章

  • Jquery each方法跳出循環(huán),并獲取返回值(實例講解)

    Jquery each方法跳出循環(huán),并獲取返回值(實例講解)

    這篇文章主要是對Jquery each方法跳出循環(huán),并獲取返回值進(jìn)行了詳細(xì)的介紹,需要的朋友可以過來參考下,希望對大家有所幫助
    2013-12-12
  • 最新評論

    碌曲县| 刚察县| 宜州市| 博客| 芜湖市| 黔西县| 淮阳县| 隆德县| 高淳县| 怀化市| 余姚市| 白玉县| 泸水县| 无棣县| 高陵县| 大丰市| 灵山县| 汽车| 阿克| 阿克苏市| 丹阳市| 大悟县| 灌阳县| 石首市| 年辖:市辖区| 枣阳市| 临汾市| 庄浪县| 鄂伦春自治旗| 临沭县| 军事| 阿坝| 岚皋县| 杂多县| 柳江县| 南召县| 渝中区| 光山县| 泾川县| 荃湾区| 苏尼特左旗|