返回值:jQuery undelegate([selector,[type],fn])
jQuery undelegate() 方法概述
刪除由 delegate() 方法添加的一個或多個事件處理程序。
jQuery 3.0中已棄用此方法,請用 off()代替。
參數(shù)
selector,[type]String,String1.4.2
selector:需要刪除事件處理程序的選擇器。
type:需要刪除處理函數(shù)的一個或多個事件類型。 由空格分隔多個事件值。必須是有效的事件。
selector,[type],fnString,String,FunctionV1.4.2
selector:需要刪除事件處理程序的選擇器。
type:需要刪除處理函數(shù)的一個或多個事件類型。 由空格分隔多個事件值。必須是有效的事件。
fn:要刪除的具體事件處理函數(shù)。
selector,eventsString,StringV1.4.3
selector:需要刪除事件處理程序的選擇器。
events:一個或多個事件類型的字符串和函數(shù)的數(shù)據(jù)映射來執(zhí)行他們。
namespaceString1.6
namespace:一個字符串,其中包含一個命名空間取消綁定的所有事件。
示例
描述:
從p元素刪除由 delegate() 方法添加的所有事件處理器:
jQuery 代碼:
$("p").undelegate();
從p元素刪除由 delegate() 方法添加的所有click事件處理器:
jQuery 代碼:
$("p").undelegate( "click" )
從form元素刪除由 delegate() 方法添加的".whatever"命名空間:
jQuery 代碼:
var foo = function () {
//.....
};
//用delegate() 方法給click事件增加".whatever"命名空間
$("form").delegate(":button", "click.whatever", foo);
$("form").delegate("input[type='text']", "keypress.whatever", foo);
// 用undelegate()方法刪除delegate()方法增加的".whatever"命名空間
$("form").undelegate(".whatever");