多次注冊(cè)事件會(huì)導(dǎo)致一個(gè)事件被觸發(fā)多次的解決方法
更新時(shí)間:2013年08月12日 11:01:43 作者:
一個(gè)JavaScript邏輯,會(huì)自動(dòng)綁定函數(shù)到按鈕的click事件,但是這段代碼會(huì)反復(fù)注冊(cè)事件,具體的解決方法如下,感興趣的朋友可以參考下
一個(gè)JavaScript邏輯,會(huì)自動(dòng)綁定函數(shù)到按鈕的click事件,但是這段代碼會(huì)反復(fù)注冊(cè)事件。這樣依賴onNext函數(shù)會(huì)在點(diǎn)擊一次按鈕的時(shí)候多次觸發(fā)。
這是JQuery內(nèi)部沒(méi)有判斷是否綁定多次,懷疑其內(nèi)部用了數(shù)組保存事件函數(shù),而且沒(méi)有去重。
下面的代碼預(yù)防了這個(gè)問(wèn)題。解決方案很簡(jiǎn)單。
if (!this.hasPageBarEvents) {
$(".pNext").on("click", this, this.onNext);
this.hasPageBarEvents = true;
}
以后用到JQuery要小心這個(gè)特性。
這是JQuery內(nèi)部沒(méi)有判斷是否綁定多次,懷疑其內(nèi)部用了數(shù)組保存事件函數(shù),而且沒(méi)有去重。
下面的代碼預(yù)防了這個(gè)問(wèn)題。解決方案很簡(jiǎn)單。
復(fù)制代碼 代碼如下:
if (!this.hasPageBarEvents) {
$(".pNext").on("click", this, this.onNext);
this.hasPageBarEvents = true;
}
以后用到JQuery要小心這個(gè)特性。
相關(guān)文章
js通過(guò)keyCode值判斷單擊鍵盤上某個(gè)鍵,然后觸發(fā)指定的事件方法
下面小編就為大家?guī)?lái)一篇js通過(guò)keyCode值判斷單擊鍵盤上某個(gè)鍵,然后觸發(fā)指定的事件方法。小編覺(jué)得挺不錯(cuò)的,現(xiàn)在就分享給大家,也給大家做個(gè)參考。一起跟隨小編過(guò)來(lái)看看吧2017-02-02使用JavaScript進(jìn)行表單校驗(yàn)功能
最近在學(xué)習(xí)JavaScript,因此想到使用js實(shí)現(xiàn)表單校驗(yàn)。下面通過(guò)本文給大家分享使用javascript實(shí)現(xiàn)表單校驗(yàn)功能的步驟,需要的的朋友參考下吧2017-08-08PHP使用方法重載實(shí)現(xiàn)動(dòng)態(tài)創(chuàng)建屬性的get和set方法
這篇文章主要介紹了PHP使用方法重載實(shí)現(xiàn)動(dòng)態(tài)創(chuàng)建屬性的get和set方法,使用本文方法可以在一個(gè)類中不用在寫大量的set方法或get方法,需要的朋友可以參考下2014-11-11淺談javascript中的 “ && ” 和 “ || ”
本文主要介紹了Javascript中的 “ && ” 和 “ || ”的相關(guān)知識(shí)。具有很好的參考價(jià)值,下面跟著小編一起來(lái)看下吧2017-02-02JavaScript Window瀏覽器對(duì)象模型方法與屬性匯總
本文給大家匯總分享的是JavaScript Window瀏覽器對(duì)象模型方法與屬性,十分的細(xì)致全面,這里推薦給大家,有需要的小伙伴可以參考下。2015-04-04Typescript井字棋的項(xiàng)目實(shí)現(xiàn)
本文主要介紹了Typescript井字棋的項(xiàng)目實(shí)現(xiàn),文中通過(guò)示例代碼介紹的非常詳細(xì),對(duì)大家的學(xué)習(xí)或者工作具有一定的參考學(xué)習(xí)價(jià)值,需要的朋友們下面隨著小編來(lái)一起學(xué)習(xí)學(xué)習(xí)吧2022-08-08JSON.parse()和JSON.stringify()使用介紹
這篇文章主要介紹了JSON.parse()和JSON.stringify()使用,需要的朋友可以參考下2014-06-06