首页  >  事件  > undelegate([s,[t],fn])

返回值: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");