undelegate([sel,[type],fn])
最后更新于:2022-04-01 05:55:58
### 返回值:jQuery undelegate([sel,[type],fn])
### 概述
删除由 delegate() 方法添加的一个或多个事件处理程序。
### 参数
#### **selector,[type]**String,String*1.4.2*
**selector:**需要删除事件处理程序的选择器。
**type:**需要删除处理函数的一个或多个事件类型。由空格分隔多个事件值。必须是有效的事件。
#### **selector,[type],fn**String,String,Function*V1.4.2*
**selector:**需要删除事件处理程序的选择器。
**type:**需要删除处理函数的一个或多个事件类型。由空格分隔多个事件值。必须是有效的事件。
**fn:**要删除的具体事件处理函数。
#### **selector,events**String,String*V1.4.3*
**selector:**需要删除事件处理程序的选择器。
**events:**一个或多个事件类型的字符串和函数的数据映射来执行他们。
#### **namespace**String*1.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");
~~~