jQuery動態行繫結事件,發生重複繫結解決方案

2021-09-20 23:19:30 字數 873 閱讀 2231

背景:

系統需要動態增加分類,各分類下有各自的3項資金(有資金小計,問題就出在這裡)。

問題:新增一條分類,需要給3項資金新繫結小計功能。這個時候會發現,初始第一行的計算,會呼叫兩次,增加到三行的時候,第一行會重複計算三次,第二行會重複計算兩次...以此類推

為什麼會執行多次?

猜詞:新增一行,繫結計算函式,歷史分類會累計事件。也就是說,每新增一行,歷史的每乙個分類都會增加一次事件繫結。

方案:繫結事件前,刪除事件。jquery提供了on()、live()繫結方法,對應的解綁事件off()、die().

編碼:1

2

3

4

5

6

7

8

// 調整之後的事件繫結

$(this).off('blur').on('blur',function());

/** 老的事件繫結

$(this).on('blur',function());*/

以上,就是jquery事件繫結,出現重複多次執行問題的來龍去脈,謝謝大家。

----by.沫沫金

jquery動態新增繫結事件

場景 在使用jquery的方式為元素繫結事件時,我經常使用bind或者click,但這只能為頁面已經載入好的元素繫結事件。像需要用ajax的方式請求遠端資料來動態新增頁面元素時,顯然以上幾種繫結事件的方式是無效的。解決方案 1.7之後也就是1.8開始,就不推薦用live 官方推薦用on 又稱事件委託...

jquery 動態元素事件繫結 on

jquery on 方法是官方推薦的繫結事件的乙個方法。selector on event,childselector,data,function,map 由此擴充套件開來的幾個以前常見的方法有.bind p bind click function p on click function deleg...

Jquery給Dom 動態繫結事件

我想很多人都會向我一樣曾經 被新元素的事件繫結困惑很久也就是 在頁面載入完成後給元素繫結了事件,但又新增加的元素上卻沒有繫結任何事件。js的事件監聽跟css不一樣,css只要設定好了樣式,不論是原來就有的還是新新增的,都有一樣的表現。而事件監聽不是,你必須給每乙個元素單獨繫結事件。常見的例子是處理 ...