溫馨提示×

溫馨提示×

您好,登錄后才能下訂單哦!

密碼登錄×
登錄注冊×
其他方式登錄
點擊 登錄注冊 即表示同意《億速云用戶服務(wù)條款》

jQuery中的事件委派(代理事件)delegate

發(fā)布時間:2020-03-04 14:45:59 來源:網(wǎng)絡(luò) 閱讀:829 作者:田頭草 欄目:web開發(fā)

jQuery給我們提供了強大的js庫。我們可以用jQuery腳本向頁面添加元素,隨著程序進行添加的元素怎么添加事件呢?就需要使用delegate了。 delegate() 方法可以為已有或新添加的頁面元素綁定已定義的事件:
如下:
html:

<body>
<div>
<span>123</span><button>添加</button>
</div>
</body>

jquery:

$(function(){
//定義測試函數(shù)
function foo(){
alert($(this).text())}
//已有元素
$("div span").on('click',foo)
//點擊按鈕添加新元素
$("div button").click(function(){
$("div").append("<span>123</span>")
})

          //給新元素綁定事件
          $("div").delegate('span','click',foo)
          //$("div").undelegate('click')              
      })

這樣就可以為添加的新元素綁定事件,并且原有的span元素會彈出兩次文本內(nèi)容,證明delegate也給匹配到的當(dāng)前的元素綁定了事件。
如果想要消除綁定很簡單:

$("div").undelegate('click')

刪除由delegate委派綁定的事件,不是通過delegate委派的事件則不會刪除。

向AI問一下細節(jié)

免責(zé)聲明:本站發(fā)布的內(nèi)容(圖片、視頻和文字)以原創(chuàng)、轉(zhuǎn)載和分享為主,文章觀點不代表本網(wǎng)站立場,如果涉及侵權(quán)請聯(lián)系站長郵箱:is@yisu.com進行舉報,并提供相關(guān)證據(jù),一經(jīng)查實,將立刻刪除涉嫌侵權(quán)內(nèi)容。

AI