背景:
系統需要動態增加分類,各分類下有各自的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只要設定好了樣式,不論是原來就有的還是新新增的,都有一樣的表現。而事件監聽不是,你必須給每乙個元素單獨繫結事件。常見的例子是處理 ...