Detailed explanation of the use of jQuery.undelegate() function
The
undelegate() function is used to remove the event handling function of one or more events bound to an element.
The undelegate() function is mainly used to unblock the event processing function bound by the delegate() function.
This function belongs to the jQuery object (instance).
Syntax
jQuery 1.4.2 Added this function. It mainly has the following three forms of usage:
Usage 1:
jQueryObject.undelegate( [ selector , events [, handler ]] )
Remove the event handler that is bound to the events event of the selector element where the current matching element is.
Usage 2: jQuery 1.4.3 newly supports this usage.
jQueryObject.undelegate( selector , eventsMap )
A variation of usage 1, used to remove multiple event handlers of multiple event types at the same time. eventsMap is an object. Each attribute corresponds to the parameter events in the application method one, and the value corresponds to the parameter handler in the application method one.
Usage 3: jQuery 1.6 newly supports this usage.
jQueryObject.undelegate( namespace )
Remove all event handlers for events containing namespacenamespace on the currently matched element for all elements.
Parameters
The unelegate() function will remove the event handler of the events event bound to the descendant element selector on the current matching element.
If the selector parameter is omitted, the event handler bound to any element is removed.
The parameter selector must be consistent with the selector passed in when adding binding through the delegate() function.
If the parameter handler is omitted, all event handling functions bound to the specified event type of the specified element will be removed.
If all parameters are omitted, it means to remove any event handler function of any event type bound to any element on the current element.
Return value
undelegate()The return value of the function is of jQuery type and returns the current jQuery object itself.
In fact, the parameters of the unelegate() function are all filtering conditions, and only event handling functions that match all parameter conditions will be removed. The more parameters there are, the more qualifications there are and the smaller the range that is removed.
示例&说明
请参考下面这段初始HTML代码:
<input id="btn1" type="button" value="点击1" /> <input id="btn2" type="button" value="点击2" /> <a id="a1" href="#">CodePlayer</a>
首先,我们为上述button和元素绑定事件,然后使用undelegate()函数解除事件绑定,相应的代码如下:
function btnClick1(){ alert( this.value + "-1" ); } function btnClick2(){ alert( this.value + "-2" ); } var $body = $("body"); // 在body元素上为所有button元素的click事件绑定事件处理函数btnClick1 $body.delegate( ":button", "click", btnClick1 ); //在body元素上为所有button元素的click事件绑定事件处理函数btnClick2 $body.delegate( ":button", "click", btnClick2 ); //为所有a元素绑定click、mouseover、mouseleave事件 $body.delegate( "a", "click mouseover mouseleave", function(event){ if( event.type == "click" ){ alert("点击事件"); }else if( event.type == "mouseover" ){ $(this).css("color", "red"); }else{ $(this).css("color", "blue"); } }); //移除body元素为所有button元素的click事件绑定的事件处理函数btnClick2 //点击按钮,只执行btnClick1 $body.undelegate(":button", "click", btnClick2); //移除body元素为所有button元素的click事件绑定的所有事件处理函数(btnClick1和btnClick2) //点击按钮,不会执行任何事件处理函数 // $body.undelegate(":button", "click"); //注意: $body.undelegate("#btn1", "click"); 无法移除btn1的点击事件,undelegate()函数指定的选择器必须与delegate()函数传入的选择器一致。 // 移除body元素为所有元素(包括button和<a>元素)的任何事件绑定的所有处理函数 // 点击按钮、链接,或用鼠标在链接上移入、移出,都不会触发执行任何事件处理函数 //$("body").undelegate( );
此外undelegate()函数还可以只移除指定命名空间的所有元素的所有事件绑定。
var $body = $("body"); $body.delegate("#btn1", "click.foo.bar", function(event){ alert("click-1"); }); $body.delegate("#btn1", "click.test", function(event){ alert("click-2"); }); $body.delegate("#btn1", "click.test.foo", function(event){ alert("click-3"); }); // $body.undelegate(".test"); // 移除click-2、click-3 // $body.undelegate(".foo"); // 移除click-1、click-3 // $body.undelegate(".foo.bar"); // 移除click-1
The above is the detailed content of Detailed explanation of the use of jQuery.undelegate() function. For more information, please follow other related articles on the PHP Chinese website!

Hot AI Tools

Undresser.AI Undress
AI-powered app for creating realistic nude photos

AI Clothes Remover
Online AI tool for removing clothes from photos.

Undress AI Tool
Undress images for free

Clothoff.io
AI clothes remover

Video Face Swap
Swap faces in any video effortlessly with our completely free AI face swap tool!

Hot Article

Hot Tools

Notepad++7.3.1
Easy-to-use and free code editor

SublimeText3 Chinese version
Chinese version, very easy to use

Zend Studio 13.0.1
Powerful PHP integrated development environment

Dreamweaver CS6
Visual web development tools

SublimeText3 Mac version
God-level code editing software (SublimeText3)

Hot Topics

MetaMask (also called Little Fox Wallet in Chinese) is a free and well-received encryption wallet software. Currently, BTCC supports binding to the MetaMask wallet. After binding, you can use the MetaMask wallet to quickly log in, store value, buy coins, etc., and you can also get 20 USDT trial bonus for the first time binding. In the BTCCMetaMask wallet tutorial, we will introduce in detail how to register and use MetaMask, and how to bind and use the Little Fox wallet in BTCC. What is MetaMask wallet? With over 30 million users, MetaMask Little Fox Wallet is one of the most popular cryptocurrency wallets today. It is free to use and can be installed on the network as an extension

Go language provides two dynamic function creation technologies: closure and reflection. closures allow access to variables within the closure scope, and reflection can create new functions using the FuncOf function. These technologies are useful in customizing HTTP routers, implementing highly customizable systems, and building pluggable components.

In C++ function naming, it is crucial to consider parameter order to improve readability, reduce errors, and facilitate refactoring. Common parameter order conventions include: action-object, object-action, semantic meaning, and standard library compliance. The optimal order depends on the purpose of the function, parameter types, potential confusion, and language conventions.

The key to writing efficient and maintainable Java functions is: keep it simple. Use meaningful naming. Handle special situations. Use appropriate visibility.

1. The SUM function is used to sum the numbers in a column or a group of cells, for example: =SUM(A1:J10). 2. The AVERAGE function is used to calculate the average of the numbers in a column or a group of cells, for example: =AVERAGE(A1:A10). 3. COUNT function, used to count the number of numbers or text in a column or a group of cells, for example: =COUNT(A1:A10) 4. IF function, used to make logical judgments based on specified conditions and return the corresponding result.

The advantages of default parameters in C++ functions include simplifying calls, enhancing readability, and avoiding errors. The disadvantages are limited flexibility and naming restrictions. Advantages of variadic parameters include unlimited flexibility and dynamic binding. Disadvantages include greater complexity, implicit type conversions, and difficulty in debugging.

The benefits of functions returning reference types in C++ include: Performance improvements: Passing by reference avoids object copying, thus saving memory and time. Direct modification: The caller can directly modify the returned reference object without reassigning it. Code simplicity: Passing by reference simplifies the code and requires no additional assignment operations.

The difference between custom PHP functions and predefined functions is: Scope: Custom functions are limited to the scope of their definition, while predefined functions are accessible throughout the script. How to define: Custom functions are defined using the function keyword, while predefined functions are defined by the PHP kernel. Parameter passing: Custom functions receive parameters, while predefined functions may not require parameters. Extensibility: Custom functions can be created as needed, while predefined functions are built-in and cannot be modified.
