返回值:jQuery undelegate([selector,[type],fn])
概述
删除由 delegate() 方法添加的一个或多个事件处理程序。
jQuery 3.0中已弃用此方法,请用 off()代替。
参数
selector,[type]String,String1.4.2
selector:需要删除事件处理程序的选择器。
type:需要删除处理函数的一个或多个事件类型。 由空格分隔多个事件值。必须是有效的事件。
selector,[type],fnString,String,FunctionV1.4.2
selector:需要删除事件处理程序的选择器。
type:需要删除处理函数的一个或多个事件类型。 由空格分隔多个事件值。必须是有效的事件。
fn:要删除的具体事件处理函数。
selector,eventsString,StringV1.4.3
selector:需要删除事件处理程序的选择器。
events:一个或多个事件类型的字符串和函数的数据映射来执行他们。
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");