Give you an in-depth understanding of the Bind() function in JQuery
This article mainly introduces the usage of Bind() event in JQuery. It analyzes the function, characteristics and usage skills of Bind() event with examples. Friends in need can refer to this article
The example analyzes the usage of Bind() event in JQuery. Share it with everyone for your reference. The specific analysis is as follows:
Let’s take a look at its definition first:
.bind( eventType [, eventData], handler(eventObject))
. The main function of the Bind() method is to bind the object to it The above provides some behavior of event methods. The meanings of its three parameters are as follows:
eventType is a string type event type, which is the event you need to bind. Such types can include the following: blur, focus, focusin, focusout, load, resize, scroll, unload, click, dblclick, mousedown, mouseup, mousemove, mouseover, mouseout, mouseenter, mouseleave, change, select, submit, keydown, keypress , keyup, error. What needs to be noted here is that the event methods in JavaScript are used here, not in JQuery. The event methods in JQuery all have an extra "on" in front of JavaScript, such as onclick, onblur, etc.
The eventData parameter is an optional parameter, but it is rarely used in normal times. If this parameter is provided, then we can pass some additional information to the Event handling function. This parameter has a good use, which is to deal with problems caused by closures. I will give you an example later.
Handler is the processing number used for binding, which is actually the callback function, the corresponding method after processing the data.
1. The first simple bind () event---Hello Word
<input id="BtnFirst"type="button"value="Click Me"/> <script> $(function () { $("#BtnFirst").bind("click",function(){ alert("Hello World"); }); }) </script>
After opening the page, click the button "Click Me", "Hello World" will pop up. This is our simplest binding event. It's very simple.
2. Bind multiple events
We can bind multiple events through bind() (in fact, this is also a very famous event in JQuery and Linq Chain programming). The main function implemented is that when we click, "Hello World" pops up, and when we leave the button, a p is displayed.
<p> <input id="BtnFirst"type="button"value="Click Me"/></p> <p id="Testp"style=" width:200px; height:200px; display:none; "> </p> <script> $(function () { $("#BtnFirst").bind("click", function () { alert("Hello World"); }).bind("mouseout", function () { $("#Testp").show("slow"); }); }) </script>
This code page is easy to understand. When the button is clicked, a "Hello World" will pop up. When leaving, the p will be displayed. . For animations in JQuery, you can use "slow", "fast" and "normal". Of course, you can also set the relevant milliseconds.
3.bind() event object
Handler callback function can accept a parameter, when this function is called, a JavaScript event object will be passed in as a parameter.
Give me an example from the JQuery official website:
<style> p {background:yellow;font-weight:bold;cursor:pointer;3 padding:5px;} p.over {background:#ccc;} span {color:red;} </style> <p>Click or double click here.</p> <span></span> <script> $("p").bind("click", function(event){ var str = "( " + event.pageX + ", " + event.pageY + " )"; $("span").text("Click happened! " + str); }); $("p").bind("dblclick", function(){ $("span").text("Double-click happened in " + this.nodeName); }); $("p").bind("mouseenter mouseleave", function(event){ $(this).toggleClass("over"); }); </script>
The main function here is to realize that when the user clicks on the p object, the current relative to The coordinates of the page are displayed in the span tag, and the event event is used here. Pass the parameters in.
4.unbind() event
unbind([type],[data],Handler) is the reverse operation of bind(), starting from each matching Remove the bound event from the element. If there are no parameters, all bound events are deleted. You can unbind custom events you registered with bind(). If an event type is provided as a parameter, only bound events of that type are removed. If a handler is passed as the second argument when binding, only that specific event handler will be removed.
<body onclick="MyBodyClick()"> <p onclick="MyClickOut()"> <p onclick="MyClickInner()"> <span id="MySpan">I love JQuery!! </span> </p> </p> <span id="LooseFocus">失去焦点</span> </body> <script> function MyClickOut() { alert("outer p"); } function MyClickInner() { alert("Inner p"); } function MyBodyClick() { alert("Body Click"); } var foo = function () { alert("I'm span."); } $(function () { $("#MySpan").bind("click", foo); }) $(function () { $("#LooseFocus").unbind("click", foo); }) </script>
The above code is also easy to understand. When the user's mouse stays on the span, the click event of the span is then cancelled. So, in the end it will only pop up the alert inside the body.
Finally, let’s briefly understand the use of one() event. In fact, one and bind are the same, both are generated for binding events. One is basically the same as bind. The difference is that when calling jQuery.event.add, the registered event processing function is slightly adjusted. One called jQuery.event.proxy to proxy the incoming event processing function. When an event triggers a call to this agent's function, the event is first deleted from the cache, and then the registered event function is executed. Here is the application of closure, through which the reference of the event function registered by fn is obtained.
Usage rules:
one(type,[data],fn)
Bind a one-time event handler function for each specific event (like click) of the matching element. This event handler is executed only once on each object. Other rules are the same as bind() function. This event handler will receive an event object, which can be used to prevent the default behavior. If you want to cancel the default behavior and prevent the event from bubbling, the event handler must return false.
Post it, the implementation of the respective codes of bind and one, the reader can make a slight comparison:
The implementation of the Bind() code:
bind : function(type, data, fn) { return type == "unload" ? this.one(type,data,fn) : this.each(function(){ //fn || data, fn && data实现了data参数可有可无 jQuery.event.add(this, type, fn || data, fn && data); }); }
Implementation of One() code:
one : function(type, data, fn) { var one = jQuery.event.proxy(fn || data, function(event) { jQuery(this).unbind(event, one); return (fn || data).apply(this, arguments); //this->当前的元素 }); return this.each(function() { jQuery.event.add(this, type, one, fn && data); }); }
5.最后呢,其实想在贴一个冒泡事件,因为在处理绑定事件的时候,如果调用内部的事件 有可能会触发外面的事件,所以给大伙一个借鉴吧。
这里可以参考一下javascript事件冒泡的文章:《JavaScript 事件冒泡简介及应用》。
简单的说,何为冒泡事件?其实,简单的理解是,也可以说是事件传播,它会从内部的控件广播到父类的元素,然后接着一直往上到祖先级别的元素。
则 冒泡实例代码:
<body onclick="MyBodyClick()"> <p onclick="MyClickOut()"> <p onclick="MyClickInner()"> <span id="MySpan"> I love JQuery!! </span> </p> </p> </body> <script type="text/javascript"> function MyClickOut() { alert("outer p"); } function MyClickInner() { alert("Inner p"); } function MyBodyClick() { alert("Body Click"); } $(function () { $("#MySpan").bind("click", function (event) { alert("I'm span"); event.stopPropagation(); }); </script>
The above is the detailed content of Give you an in-depth understanding of the Bind() function in JQuery. 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



The ISNULL() function in MySQL is a function used to determine whether a specified expression or column is NULL. It returns a Boolean value, 1 if the expression is NULL, 0 otherwise. The ISNULL() function can be used in the SELECT statement or for conditional judgment in the WHERE clause. 1. The basic syntax of the ISNULL() function: ISNULL(expression) where expression is the expression to determine whether it is NULL or

Title: jQuery Tips: Quickly modify the text of all a tags on the page In web development, we often need to modify and operate elements on the page. When using jQuery, sometimes you need to modify the text content of all a tags in the page at once, which can save time and energy. The following will introduce how to use jQuery to quickly modify the text of all a tags on the page, and give specific code examples. First, we need to introduce the jQuery library file and ensure that the following code is introduced into the page: <

Title: Analysis of the reasons and solutions for why the secondary directory of DreamWeaver CMS cannot be opened. Dreamweaver CMS (DedeCMS) is a powerful open source content management system that is widely used in the construction of various websites. However, sometimes during the process of building a website, you may encounter a situation where the secondary directory cannot be opened, which brings trouble to the normal operation of the website. In this article, we will analyze the possible reasons why the secondary directory cannot be opened and provide specific code examples to solve this problem. 1. Possible cause analysis: Pseudo-static rule configuration problem: during use

Title: Use jQuery to modify the text content of all a tags. jQuery is a popular JavaScript library that is widely used to handle DOM operations. In web development, we often encounter the need to modify the text content of the link tag (a tag) on the page. This article will explain how to use jQuery to achieve this goal, and provide specific code examples. First, we need to introduce the jQuery library into the page. Add the following code in the HTML file:

The use of POST requests in PHP is a common operation in website development. Data can be sent to the server through POST requests, such as form data, user information, etc. Proper use of POST requests can ensure data security and accuracy. The following will introduce the correct usage of POST requests in PHP and provide specific code examples. 1. Basic principles of POST requests in PHP In PHP, the data submitted through the POST method can be obtained by using the $_POST global variable. The POST method converts the form number into

How to tell if a jQuery element has a specific attribute? When using jQuery to operate DOM elements, you often encounter situations where you need to determine whether an element has a specific attribute. In this case, we can easily implement this function with the help of the methods provided by jQuery. The following will introduce two commonly used methods to determine whether a jQuery element has specific attributes, and attach specific code examples. Method 1: Use the attr() method and typeof operator // to determine whether the element has a specific attribute

Title: Is Tencent’s main programming language Go: An in-depth analysis. As China’s leading technology company, Tencent has always attracted much attention in its choice of programming languages. In recent years, some people believe that Tencent mainly adopts Go as its main programming language. This article will conduct an in-depth analysis of whether Tencent's main programming language is Go, and give specific code examples to support this view. 1. Application of Go language in Tencent Go is an open source programming language developed by Google. Its efficiency, concurrency and simplicity are loved by many developers.

Methods for building event-based applications in PHP include using the EventSourceAPI to create an event source and using the EventSource object to listen for events on the client side. Send events using Server Sent Events (SSE) and listen for events on the client side using an XMLHttpRequest object. A practical example is to use EventSource to update inventory counts in real time in an e-commerce website. This is achieved on the server side by randomly changing the inventory and sending updates, and the client listens for inventory updates through EventSource and displays them in real time.
