用法
.off( events [, selector ] [, handler ] ) => jQuery
.off( events [, selector ] [, handler ] ) => jQuery
說明:刪除事件處理程序。
-
添加的版本:1.7
.off( events [, selector ] [, handler ] )
-
添加的版本:1.7
.off( events [, selector ] )
-
events類型:PlainObject一個對象,其中字符串鍵表示一個或多個空格分隔的事件類型和可選名稱空間,值表示先前為事件附加的處理函數。
-
selector類型:String一個選擇器,它應該與附加事件處理程序時最初傳遞給
.on()
的選擇器匹配。
-
-
添加的版本:1.7
.off( event )
-
event類型:Event
jQuery.Event
-
-
添加的版本:1.7
.off()
- 此簽名不接受任何參數。
.off()
方法刪除附加的事件處理程序.on().有關更多信息,請參閱該頁麵上對委托和直接綁定事件的討論。調用.off()
不帶參數刪除所有附加到元素的處理程序。通過提供事件名稱、命名空間、選擇器或處理函數名稱的組合,可以在元素上刪除特定的事件處理程序。當給定多個過濾參數時,提供的所有參數必須匹配才能刪除事件處理程序。
如果提供了一個簡單的事件名稱,例如 "click"
,則該類型的 all
事件(直接和委托)將從 jQuery 集中的元素中刪除。在編寫將用作插件的代碼時,或者僅在使用大型代碼庫時,最佳實踐是使用命名空間附加和刪除事件,這樣代碼就不會無意中刪除由其他代碼附加的事件處理程序。通過僅提供命名空間(例如 ".myPlugin"
),可以從元素中刪除特定命名空間中所有類型的所有事件。至少,必須提供命名空間或事件名稱。
要刪除特定的委托事件處理程序,請提供 selector
參數。選擇器字符串必須與附加事件處理程序時傳遞給.on()
的字符串完全匹配。要從元素中移除所有委托事件而不移除非委托事件,請使用特殊值 "**"
。
也可以通過在 handler
參數中指定函數名稱來刪除處理程序。當 jQuery 附加一個事件處理程序時,它會為處理程序函數分配一個唯一的 id。由
或類似機製代理的處理程序都將具有相同的唯一ID(代理函數),因此將代理處理程序傳遞給jQuery.proxy()
.off
可能會刪除比預期更多的處理程序。在這些情況下,最好使用命名空間附加和刪除事件處理程序。
與 .on()
一樣,您可以將 events
作為對象傳遞,而不是將 events
字符串和 handler
函數指定為單獨的參數。 events
對象的鍵是事件和/或命名空間;這些值是處理函數或特殊值 false
。
例子:
在彩色按鈕上添加和刪除事件處理程序。
|
演示:
從所有段落中刪除所有事件處理程序:
|
從所有段落中刪除所有委托的點擊處理程序:
|
通過將其作為第三個參數傳遞來僅刪除一個先前綁定的處理程序:
|
通過名稱空間取消綁定所有委托的事件處理程序:
|
相關用法
- JQuery .offsetParent()用法及代碼示例
- JQuery .offset()用法及代碼示例
- JQuery .one()用法及代碼示例
- JQuery .on()用法及代碼示例
- JQuery .odd()用法及代碼示例
- JQuery .outerWidth()用法及代碼示例
- JQuery .outerHeight()用法及代碼示例
- JQuery .jquery用法及代碼示例
- JQuery .scroll()用法及代碼示例
- JQuery .add()用法及代碼示例
- JQuery .contextmenu()用法及代碼示例
- JQuery .undelegate()用法及代碼示例
- JQuery .load()用法及代碼示例
- JQuery .contents()用法及代碼示例
- JQuery .empty()用法及代碼示例
- JQuery UI .labels()用法及代碼示例
- JQuery UI .addClass()用法及代碼示例
- JQuery .click()用法及代碼示例
- JQuery UI .toggleClass()用法及代碼示例
- JQuery .removeAttr()用法及代碼示例
- JQuery .addClass()用法及代碼示例
- JQuery UI .cssClip()用法及代碼示例
- JQuery .next()用法及代碼示例
- JQuery UI .hide()用法及代碼示例
- JQuery .promise()用法及代碼示例
注:本文由純淨天空篩選整理自jquery.com大神的英文原創作品 .off()。非經特殊聲明,原始代碼版權歸原作者所有,本譯文未經允許或授權,請勿轉載或複製。