jQuery動態繫結

2022-01-22 03:27:35 字數 689 閱讀 7311

在實際專案的時候,遇到了乙個問題,就是通過js動態生成的元素,無法觸發js事件。

原始的js**:

$(function

() );

})

上述型別的js**在處理隨著頁面載入而載入的dom元素是沒有問題的。但是在處理頁面載入完成後,通過動態新增的方式新增上的元素是無效的,需要另外利用jquery繫結。

動態新增元素的js**:

$(function

() );

})

此時如果點選 新新增的按鈕,通過上述宣告式無法處理響應事件的。

ps:至於原因是什麼,這個我也不太清楚。

官網說明(英文):官方api解釋

使用格式:jqueryobject.on( events [, selector ] [, data ], handler )---[此為可選項]

解釋:events為單個或多個事件,handler為觸發事件要執行的動作。

對於selector而言,如果為null或不寫那麼是繫結jqueryobject匹配到的元素;如果不為null,則表明繫結的是jquyerobject的後台元素中所有符合selector要求的元素。

方法1肯定有效,但是很奇怪方法2無效。。。

思考好了再補充,留待此次。。。

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