JQuery中動態生成元素的繫結事件(坑死寶寶了)

2022-01-19 19:13:04 字數 1648 閱讀 1934

今天在做專案的時候,遇到了乙個前端的問題,坑了我好長時間沒有解決,今天就記錄於此,也分享給大家。

問題是這樣的,首先看看我的介面,有乙個初始印象:

下面是操作列所對應的js**:

.cshtml頁面上最後生成的modal視窗生成的區域定義:

<

div

id="ajax-modal"

class

="modal fade"

tabindex

="-1"

>

div>

操作modal模態視窗的js的最終指令碼為:

//

ajax demo:

var $modal = $('#ajax-modal');

$(document).on('click', '.ajax-demo'

, function

() );

}, 1000);

});

這裡,稍稍解釋一下:看到動態生成「編輯」按鈕的js指令碼中的a標籤中的class有乙個ajax-demo沒有(我已用紅色字型標出)?其實這個類沒有任何樣式,只是乙個標識類。其次,在操作modal的指令碼中,先獲得模態視窗要顯示的區域,然後將含有「ajax-demo」類的元素繫結到click事件。這裡要講的主要的坑爹問題是繫結事件的問題。

一開始是這麼寫的,沒有獲取到元素,因而沒有執行繫結的click事件。

$('.ajax-demo').on('click', function() );
接下來,搜尋問題,搜尋到如下感覺比較靠譜的答案:

還是最後乙個答案起了作用,首先,給了我乙個不一樣的寫法的提示;其次,on,live以及bind都試過了,只有live沒有繫結到click事件,bind雖然也繫結到click事件了,但是半天載入不出非同步請求的資料,只有on讓人滿意。

第乙個是使用on繫結click事件的效果,第二個是bind繫結click事件的效果,bind最終是沒有載入出ajax內容。

jq獲取動態生成元素的html和val

動態生成的表單,繫結事件要使用事件委託。不是input框建議使用alt儲存應該給value的值,使用attr alt 獲取 var str for let i 0 i setmeallist str setmeallist on click checkboxs function 事件委託 id se...

jQuery獲取動態生成的元素

需求描述 頁面上可以動態新增資料,比如table,點選按鈕可以動態新增行。又或頁面 載入時table資料是通過ajax從後台獲取的。而這時我們想要獲取其中的某個值,又該如何獲取呢?如果是要通過某個事件來獲取的比如click,mouseover等等,則可以使用live 方法?1 23 button l...

對動態生成元素的貼上事件監聽的相關操作

為動態生成元素新增貼上事件的監聽,返回false時,禁用貼上 document on paste rightfootera function e 捕獲貼上的資料var pastedtext undefined if window.clipboarddata window.clipboarddata....