JS解決重複繫結問題以及獲取事件

2022-09-19 08:33:09 字數 811 閱讀 8672

1.一些資料互動元素如button 為了避免重複提交資訊,可以在$.post或$.get後unbind,在收到返回後再重新繫結;或者將button設定為disabled

2.在ajax可能改變某些引數,同事引數需要在bind時賦值的,在引數變動後需要unbind再重新bind

3.某個元素的click行為是動態繫結的,將會有可能出現重複的繫結,點選一次元素將會觸發兩次繫結;因此動態繫結的方法需要在繫結時提前解除繫結;

4.使用jquery的off('click')或者unbind('click')會解除所有通過jquery繫結的click事件;

5.輸入框的繫結事件:當獲得焦點時候支援鍵盤回車響應;失去焦點時候是不會響應keydown的,響應keydown的元素應該是activeelement;此事件不需要解綁;

6.不解綁不會造成記憶體洩漏;

7.用jquery繫結的事件用j**ascript原生**解綁是無效的(不知道具體原因)

js獲取觸發事件:

1.event.srcelement:引發事件的目標物件,常用於onclick事件。

2.event.fromelement:引發事件的物件源,常用於onmouseout和onmouseover事件。

3.event.toelement:引發事件後,滑鼠移動到的目標源,常用於onmouseout和onmouseover事件。

js獲取目標事件:

e = e || window.event;

name = e.tagname || e.srcelement;

jquery中事件重複繫結以及解綁問題

一般的情況下,對於這種情況,我們常規的思路是,先解綁,再繫結,如下 selector unbind click bind click function 當這樣會有乙個問題,unbind會把其之前的所有的click事件都unbind掉,可能會影響其他的繫結,有如下有兩種方法解決 第一種 使用事件命令空...

JS中用for迴圈解決重複定義的問題

在介面設計過程中,也許有些id,我們是按照功能取的,在使用的時候發現分別定義有點煩人。這樣的定義變數能不能用for迴圈實現?var btn1 document.getelementbyid btn1 var btn2 document.getelementbyid btn2 var btn3 doc...

js閉包問題以及解決辦法

個人理解閉包的產生主要就是 一切最外部的函式比裡面的函式先執行,必然產生閉包,閉包會導致原有的作用域鏈不釋放,造成記憶體洩漏 解析 實現上現在的demo儲存的是function b a執行之後就銷魂了自身的ao,但是此時b已經儲存了a的ao 解析 為什麼可以列印出123?因為函式內部的b函式並沒有執...