jquery事件綁定函數

一、bindjquery

使用語法:函數

1  jQueryObject.bind( events [, data ], handler )
2  jQueryObject.bind( events [, data ] [, isDefaultBubble ] )
3  jQueryObject.bind( eventsMap )

ps:執行bind()時,會爲當時文檔中存在的每一個匹配的元素綁定事件,若是以後你向文檔中添加了新的與bind()綁定的元素相同的元素,綁定事件不會對其生效。若是你但願綁定事件對將來新添加的元素也生效,請使用on()delegate()live()等事件函數(儘可能優先使用靠前的事件函數)。this

二、onspa

使用語法:code

1 jQueryObject.on( events [, selector ] [, data ], handler )
2 jQueryObject.on( eventsMap [, selector ] [, data ] )

  從jQuery 1.7開始,on()函數提供了綁定事件處理程序所需的全部功能,用於統一取代之前的bind()、 delegate()、 live()等事件函數。htm

  關於參數selector,你能夠簡單地理解爲:若是該參數等於null或被省略,則爲當前匹配元素綁定事件;不然就是爲當前匹配元素的後代元素中符合selector選擇器的元素綁定事件。參數handler中的this指向當前匹配元素的後代元素中觸發該事件的DOM元素。若是參數selector等於null或被省略,則this指向當前匹配元素(也就是該元素)。對象

ps:若是傳遞了selector參數,那麼on()函數並非爲當前jQuery對象匹配的元素綁定事件處理函數,而是爲它們的後代元素中符合選擇器selector參數的元素綁定事件處理函數。on()函數並非直接爲這些後代元素挨個綁定事件,而是委託給當前jQuery對象的匹配元素來處理。因爲DOM 2級的事件流機制,當後代元素selector觸發事件時,該事件會在事件冒泡中傳遞給其全部的祖輩元素,當事件流傳遞到當前匹配元素時,jQuery會判斷是哪一個後代元素觸發了事件,若是該元素符合選擇器selector,jQuery就會捕獲該事件,從而執行綁定的事件處理函數。blog

三、delegate事件

使用語法:文檔

jQueryObject.delegate( selector , events [, data ], handler )
jQueryObject.delegate( selector, eventsMap )

ps:參數的意義和on方式同樣,二者區別是seleter和events順序不一樣,delegate的selector是必需的,on的selector是可選的

相關文章
相關標籤/搜索