国产探花免费观看_亚洲丰满少妇自慰呻吟_97日韩有码在线_资源在线日韩欧美_一区二区精品毛片,辰东完美世界有声小说,欢乐颂第一季,yy玄幻小说排行榜完本

首頁 > 語言 > JavaScript > 正文

jQuery為DOM動態(tài)追加事件的方法

2024-05-06 15:11:26
字體:
供稿:網(wǎng)友

處理一個列表綁定,因為是一個展示項目,沒有使用復(fù)雜的插件,直接jsrender寫了個模板,但是后面有一個操作按鈕,去查看數(shù)據(jù)詳情,想到了jquery使用on進(jìn)行事件委托,然后就開搞

最初是這樣寫的:

$(".btn-open").on("click", function () {        alert($(this).text());      })

當(dāng)然這樣是不起作用的,因為在document reday后,.btn-open 這個元素根本還不存在呢,列表沒綁定,事件當(dāng)然也幫不上的!

 然后是這樣的:

$(".table").on("click", ".btn-open", function () {        alert($(this).text());      })

代碼可以看得明白,找到.table 元素,給.btn-open 追加 click事件。一般來說這樣就可以了。但是依然不行,我勒個去,我開始懷疑自己的記憶了。然后去找了下文檔。

文檔說:

事件處理只能綁定在當(dāng)前被選中的元素上;而且,在您的代碼調(diào)用.on()的時候,他們必須在頁面文檔中已經(jīng)存在。

好吧,在document ready時,.table確實不存在,所以 還要繼續(xù)改

$(document).on("click", ".btn-open", function () {        alert($(this).text());      })

終于可以工作了。

總結(jié):

1.jQuery委托事件與直接綁定事件的區(qū)別:

$(“X”).on(“click”,function(){})

$(“X”).on(“click”,”選擇X的子元素”,function(){})

2.事件處理只能綁定到當(dāng)前存在的元素身上,也就是第一個選擇器中的內(nèi)容必須當(dāng)前存在(這也是為什么第二段代碼不起作用的原因,因為.table不存在),所以保險起見,可以直接綁定委托事件到document上。

以前一直沒有仔細(xì)的閱讀文檔,對這一塊模棱兩可,今天弄清楚并記錄下來。

以上這篇jQuery為DOM動態(tài)追加事件的方法就是小編分享給大家的全部內(nèi)容了,希望能給大家一個參考,也希望大家多多支持錯新站長站。

發(fā)表評論 共有條評論
用戶名: 密碼:
驗證碼: 匿名發(fā)表

圖片精選

主站蜘蛛池模板: 丘北县| 绵阳市| 安塞县| 宁津县| 都匀市| 茌平县| 仙游县| 华安县| 凤城市| 衡山县| 浦县| 望奎县| 丰镇市| 日土县| 宜宾县| 苏尼特左旗| 丰顺县| 黎城县| 苍溪县| 环江| 蓝山县| 旬阳县| 景谷| 同江市| 盐池县| 高安市| 长葛市| 会东县| 万州区| 博爱县| 忻州市| 吉首市| 葫芦岛市| 宽甸| 南康市| 清河县| 武胜县| 宁陕县| 宜川县| 张家界市| 中方县|