html繫結事件失效的解決辦法

2021-09-22 02:28:55 字數 1089 閱讀 8909

事件委託,ajax載入新dom之前js就載入完了,事件當然沒有繫結到新載入的dom上。

舉個例子,如果ajax載入了乙個

這個時候如果你的js中寫了(′.

load

′).o

n(′c

lick

′,fu

ncti

on()

doso

meth

ing.

..);

事件是綁

定不上去

滴。你需

要('.load').on('click',function());事件是繫結不上去滴。你需要

(′.loa

d′).

on(′

clic

k′,f

unct

ion(

)dos

omet

hing

...)

;事件是

繫結不上

去滴。你

需要(『body』).on(『click』 , 『.load』 , function());原理很簡單,將事件委託到body(當然可以是其它父元素),等事件冒泡到父元素上面再進行事件處理。當然,如果你在body上繫結幾百個事件,基本上頁面就跪了。。。so,還有乙個方法,就是預判你要載入的dom,然後預先建立乙個同樣的元素。例如:你可以先在頁面中寫乙個

element
然後將事件繫結到這個dom上,ajax載入的時候只需要載入element

然後

$('.load').on('click' , function());

.......

some code

.......

var $_load = $('.load'),

$load = $_load.clone(true),//true引數會將事件繫結轉殖

$ele = $load.html(element);

$_load.after($ele);

當然,這種方法在一次性載入大量資料的情況下效能也非常堪憂。但是在零碎的不同類項的資料載入時比較方便。

jquery事件重複繫結解決辦法

一 fn.live 重複繫結 解決 使用die 方法,在live 方法繫結前,將此元素上的前面被繫結的事件統統解除,然後再通過live 方法繫結新的事件。先通過die 方法解除,再通過live 繫結 selectall die live click function 二click等事件 解決 使用u...

jquery事件重複繫結解決辦法

fn.live 重複繫結 解決 使用die 方法,在live 方法繫結前,將此元素上的前面被繫結的事件統統解除,然後再通過live 方法繫結新的事件。先通過die 方法解除,再通過live 繫結 selectall die live click function 二click等事件 解決 使用unb...

git gitignore失效的解決辦法

在使用git這個多人協作的 版本控制工具時,為了避免每次提交修改 時,一些預期外的無用檔案的改動同時被提交並加入版本控制,需要將一些和 無關的無用檔案排除在版本控制外,此時也就需要使用.gitignore檔案來指定這些需要忽略的檔案資訊。不同型別的工程都有一些通用的.gitignore範本,一般在專...