jQuery事件代理綁定:delegate

jQuery對于已有的元素綁定事件只要簡單的

$("#id").bind('click',function(){
//do something
})

而如果對于已經(jīng)加載完成頁面,再添加元素,而后還需要重新綁定事件。例如像掃雷這樣的網(wǎng)頁,如果動(dòng)態(tài)的改變雷區(qū)的大小,由4*4變成8*8那么就需要給所有雷點(diǎn)重新綁定事件,而delegate可以針對一個(gè)元素作為代理,通過這個(gè)元素的關(guān)系,預(yù)先綁定所需元素的事件。

<div id='mine_field '>
<div class='mine'></div><div class='mine'></div><div class='mine'></div>……
</div>
<script>
$("#mine_field").delegate(" .mine",'click',function(){
//do something
})
</script>

百度:

定義和用法
delegate() 方法為指定的元素(屬于被選元素的子元素)添加一個(gè)或多個(gè)事件處理程序,并規(guī)定當(dāng)這些事件發(fā)生時(shí)運(yùn)行的函數(shù)。
使用 delegate() 方法的事件處理程序適用于當(dāng)前或未來的元素(比如由腳本創(chuàng)建的新元素)。
語法
$(selector).delegate(childSelector,event,data,function)

參數(shù):
childSelector
必需。規(guī)定要附加事件處理程序的一個(gè)或多個(gè)子元素。

event
必需。規(guī)定附加到元素的一個(gè)或多個(gè)事件。
由空格分隔多個(gè)事件值。必須是有效的事件。

data
可選。規(guī)定傳遞到函數(shù)的額外數(shù)據(jù)。

function
必需。規(guī)定當(dāng)事件發(fā)生時(shí)運(yùn)行的函數(shù)。

最后編輯于
?著作權(quán)歸作者所有,轉(zhuǎn)載或內(nèi)容合作請聯(lián)系作者
平臺聲明:文章內(nèi)容(如有圖片或視頻亦包括在內(nèi))由作者上傳并發(fā)布,文章內(nèi)容僅代表作者本人觀點(diǎn),簡書系信息發(fā)布平臺,僅提供信息存儲服務(wù)。

推薦閱讀更多精彩內(nèi)容

  • 1、 jQuery 能做什么? jquery是一個(gè)豐富的js庫,內(nèi)部對js的很多復(fù)雜的方法進(jìn)行了封裝和加工,比如j...
    zh_yang閱讀 1,415評論 6 13
  • (續(xù)jQuery基礎(chǔ)(1)) 第5章 DOM節(jié)點(diǎn)的復(fù)制與替換 (1)DOM拷貝clone() 克隆節(jié)點(diǎn)是DOM的常...
    凜0_0閱讀 1,360評論 0 8
  • 總結(jié): 鼠標(biāo)事件 1.click與dbclick事件$ele.click()$ele.click(handler(...
    阿r阿r閱讀 1,628評論 2 10
  • 1.JQuery 基礎(chǔ) 改變web開發(fā)人員創(chuàng)造搞交互性界面的方式。設(shè)計(jì)者無需花費(fèi)時(shí)間糾纏JS復(fù)雜的高級特性。 1....
    LaBaby_閱讀 1,367評論 0 2
  • 圖片發(fā)自簡書App 第一卷 忘功不忘過,忘怨不忘恩。 原文: 我有功于人不可念,而過則不可不念;人有恩于我不可忘,...
    愛文字的小藥師閱讀 2,143評論 9 12