jQuery給我們提供了強(qiáng)大的js庫(kù)。我們可以用jQuery腳本向頁(yè)面添加元素,隨著程序進(jìn)行添加的元素怎么添加事件呢?就需要使用delegate了。 delegate() 方法可以為已有或新添加的頁(yè)面元素綁定已定義的事件:
如下:
html:
站在用戶(hù)的角度思考問(wèn)題,與客戶(hù)深入溝通,找到仲巴網(wǎng)站設(shè)計(jì)與仲巴網(wǎng)站推廣的解決方案,憑借多年的經(jīng)驗(yàn),讓設(shè)計(jì)與互聯(lián)網(wǎng)技術(shù)結(jié)合,創(chuàng)造個(gè)性化、用戶(hù)體驗(yàn)好的作品,建站類(lèi)型包括:網(wǎng)站設(shè)計(jì)、成都做網(wǎng)站、企業(yè)官網(wǎng)、英文網(wǎng)站、手機(jī)端網(wǎng)站、網(wǎng)站推廣、域名與空間、虛擬主機(jī)、企業(yè)郵箱。業(yè)務(wù)覆蓋仲巴地區(qū)。
123
jquery:
$(function(){
//定義測(cè)試函數(shù)
function foo(){
alert($(this).text())}
//已有元素
$("div span").on('click',foo)
//點(diǎn)擊按鈕添加新元素
$("div button").click(function(){
$("div").append("123")
})//給新元素綁定事件 $("div").delegate('span','click',foo) //$("div").undelegate('click') })
這樣就可以為添加的新元素綁定事件,并且原有的span元素會(huì)彈出兩次文本內(nèi)容,證明delegate也給匹配到的當(dāng)前的元素綁定了事件。
如果想要消除綁定很簡(jiǎn)單:
$("div").undelegate('click')
刪除由delegate委派綁定的事件,不是通過(guò)delegate委派的事件則不會(huì)刪除。