jquery 事件,註冊 與重複事件處理

2022-01-14 12:30:45 字數 1458 閱讀 6262

jquery有時候會出現重複註冊乙個事件的問題,導致點選乙個事件,這個事件被重複執行,也就是觸發事件的次數有幾次,

那麼這個事件就會被執行疊加重複幾次。

我這邊做的乙個專案,在某個頁面初始化的時候,給乙個控制項註冊了乙個事件,後來發現,進入幾次這個頁面,因為進入頁面會執行一次註冊,這個事件就會被註冊幾次,被重複執行,沒有覆蓋。

上網查詢了一下,總結了以下幾種情況:

1,通過 on方法註冊的事件,每次的註冊不會把原來的方法覆蓋掉。會以佇列的形式儲存起來

點選的時候,觸發事情會乙個個按註冊的順序執行。

function

initonevent());

$("#onwaytoevent").on("click",function

());

$("#onwaytoevent").on("click",function

());

}

2,通過bind的方法多次註冊事件。通過 jquery 的bind方法多次註冊的方法也是一樣,不會把原來的方法覆蓋了,也是把方法以

佇列的形式儲存起來,觸發事件後按註冊次序逐個執行。

function

initbindevent());

$("#bindwaytoevent").bind("click",function

());

$("#bindwaytoevent").bind("click",function

());

}

3,通過click方法多次註冊事件。通過 jquery 的click方法多次註冊的方法也是上面的效果一樣 。

function

initclickvent());

$("#clickwaytoevent").click(function

());

$("#clickwaytoevent").click(function

());

}

4,通過live 方法多次註冊事件

1,通過unbind,bind方法進行事件的唯一註冊

$("#oneevnetbybind").unbind("click").bind("click",function

());

2,通過die live方法進行事件的唯一載入

$("#oneevnetbydielive").die().live("click",function

());

3,off() 方法通常用於移除通過 on() 方法新增的事件處理程式。

$("button").click(function

());

註冊事件,反註冊事件,匿名事件

根據資料動態建立控制項及為控制項動態繫結事件 事件不只乙個,包括匿名方法 現在要訂閱乙個新事件同時取消這個控制項的所有事件.改用反射實現,用反射獲得button的eventhandler,並對它進行反註冊。方法一。propertyinfo propertyinfo typeof button get...

jQuery事件繫結與事件委託

在jquery類庫中,事件繫結與事件委託的用法受到了廣泛的關注。不僅如此,這還成了當今前端攻城獅的 熱門面試題目。十次面試有七八次會問到這個問題,因此,了解掌握事件的繫結和委託,還是比較重要的。冒泡 眾所周知,html的dom結構自外而內,層層包裹。如 div p span a,這樣式的,當我們的事...

jQuery 事件冒泡與事件委託

什麼是事件冒泡 在乙個物件上觸發某類事件 比如單擊onclick事件 如果此物件定義了此事件的處理程式,那麼此事件就會呼叫這個處理程式,如果沒有定義此事件處理程式或者事件返回true,那麼這個事件會向這個物件的父級物件傳播,從裡到外,直至它被處理 父級物件所有同類事件都將被啟用 或者它到達了物件層次...