首頁  >  文章  >  web前端  >  jQuery中bind,live,delegate與one方法的用法及區別解析_jquery

jQuery中bind,live,delegate與one方法的用法及區別解析_jquery

WBOY
WBOY原創
2016-05-16 17:06:201260瀏覽

bind( )方法用於將一個處理程序附加到每個匹配元素的事件上並傳回jQuery物件。

.bind(eventType[, evnetData], Handler(eventObject))

其中,參數eventType是一個字串,包含一個或多個javaScript事件類型,例如click,submit或自訂事件的名稱,指定多個事件類型時用空格分隔各個類型;eventData為Map類型,給出要傳遞給事件處理程序的數據,handler指定觸發事件時要執行的函數,eventObject表示事件物件。

.bind()方法將事件處理程序handler附加到符合元素集合中的每個元素的eventType事件上,如果需要,也可以傳遞資料到事件處理程序。

live( )方法將一個事件處理程序附加到與目前選擇器相符的所有元素(包含現有的或將來新增的)的指定事件上並傳回jQuery物件。

.live(eventType,[eventData],handler)

其中,參數eventType是一個字串,包含一個或多個javaScript事件類型,例如click,keydown或自訂事件的名稱,eventData是可選參數,為Map類型,給出要傳遞給事件處理程序的數據,該參數是在jQuery1.4中添加的;handler是一個函數,當觸發事件時將執行這些函數

.live()方法將事件處理程序handler附加到每個符合元素(包含目前存在的和將來新增的)的eventType事件上,必要時也可以使用參加eventData來傳遞資料到事件處理程序。

.live()方法是基本的.bind()方法的一個變形,後者可以將事件處理程序附加到元素·,當調用.bind()時,jQuery物件匹配的元素將被附加上事件處理程序,但以後新增的元素並不會被附加該事件處理程序,因此,還需要對這些元素再次呼叫.bind()方法。

.one()方法將事件處理程序附加到符合元素的指定事件並傳回jQuery物件。所附加的事件處理程序最多只能執行一次。

.one(eventType,[eventData],handler(eventObject))

其中,參數eventType是一個字串,包含一個或多個javaScript事件類型,例如click,submit或自訂事件的名稱,指定多個事件類型時用空格分隔各個類型;eventData為Map類型,給出要傳遞給事件處理程序的數據,handler指定觸發事件時要執行的函數,eventObject表示事件物件。

.one()方法與.bind()類似,不同的是,使用.one()綁定的事件處理程序在執行一次之後將自動取消綁定。

.delegate()方法是基於一組特定的根元素將處理程序附加到符合選擇器的所有元素(現有的或將來的)的一個或多個事件上。

.delegate(selector,eventType[,eventData],handler)

其中,參數selector是一個選擇器,用於篩選觸發事件的元素;eventType是一個字串,指定一個或多個JavaScript事件類型(多個事件以空格分隔),例如click,keydown或自訂事件名稱;eventData為映射類型,表示要傳遞給事件處理程序的資料;handler表示觸發事件時執行的函數。

.delegate()與.live()類似,可將每個事件的綁定委託給指定的DOM元素。

陳述:
本文內容由網友自願投稿,版權歸原作者所有。本站不承擔相應的法律責任。如發現涉嫌抄襲或侵權的內容,請聯絡admin@php.cn