您好,登錄后才能下訂單哦!
jQuery給我們提供了強大的js庫。我們可以用jQuery腳本向頁面添加元素,隨著程序進行添加的元素怎么添加事件呢?就需要使用delegate了。 delegate() 方法可以為已有或新添加的頁面元素綁定已定義的事件:
如下:
html:
<body>
<div>
<span>123</span><button>添加</button>
</div>
</body>
jquery:
$(function(){
//定義測試函數
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元素會彈出兩次文本內容,證明delegate也給匹配到的當前的元素綁定了事件。
如果想要消除綁定很簡單:
$("div").undelegate('click')
刪除由delegate委派綁定的事件,不是通過delegate委派的事件則不會刪除。
免責聲明:本站發布的內容(圖片、視頻和文字)以原創、轉載和分享為主,文章觀點不代表本網站立場,如果涉及侵權請聯系站長郵箱:is@yisu.com進行舉報,并提供相關證據,一經查實,將立刻刪除涉嫌侵權內容。