search

Events in jQuery

Aug 04, 2017 pm 03:31 PM
jqueryevent

1. Load DOM

After the page is loaded, JS uses window.onload to add events to DOM elements. In jQuery, use $(document).ready() to add events to DOM elements. Use this The method can operate on the DOM when it is ready and call the function to which it is bound.

                                                                                                                                                                                                                                                                                               Nor

##$(document).ready(function(){})$(document) It can be abbreviated as $(), which defaults to document without parameters, so it can be abbreviated as: ①$(document).ready(function(){})②$(function (){})Greatly improves the corresponding speed of web applicationsThe associated file of the element has not been downloaded, causing some attributes to be invalidUse another method about page loading-the load() method
Execution mechanism Must wait until all content in the web page is loaded (including Picture) It will be executed after all the DOM structures in the web page are drawn. Maybe the things associated with the DOM elements have not been loaded.
Number of writes You cannot write multiple You can write multiple
Simplified writing None

Comparison

Disadvantages

Solution

Supplement: The load() method will bind a processing function in the element's onload event. If the processing function is bound to the window object, it will be Triggered after all content (including windows, frames, objects, images, etc.) is loaded. If the handler function is bound to an element, it will be triggered after the content of the element is loaded.


1 $(window).load(function(){2 //编写代码3 })

2. Event binding - bind() method

Format: bind(type [, data], fn )

The first parameter is the event type: blur, focus, load, unload, resize, scroll, click, dblclick, mousedown, mouseover, mouseup, mousemove, mouseout, mouseenter, mouseleave, change, select, submit , keydown, keypress, keyup, error

The second parameter is an optional parameter, an additional data object passed to the event object as the evert.data attribute value

The third meal is used To bind the processing function

Supplement: To determine whether an element is displayed, use the is() method in jQuery

abbreviation: .mouseover(function(){})

##Other uses of the bind() method:

(1) Bind an element once Multiple event types

 
$("p").bind("mouseover mouseout",
function
(){};);


(2) Add event namespace for easy management

3. Synthetic events

hover() method: simulate cursor hover event

Format: hover(enter, leave) ;

When the cursor moves to the element, the first specified function will be triggered. When the cursor removes the element, the second specified function will be triggered

Alternate events: bind("mouseenter") and bind("mouseleave")

toggle() method: simulate mouse Continuous click event

Format: toggle(fn1,fn3......fnN);


$(function()){
      $("#panel").toggle(function(){
               $(this).next().show();
       },function(){
                $(this).next().hide();
       })
})

Supplement toggle also has another function: switching the visible state of the element. If the element courseware is clicked, it will be switched to hidden. If the element is hidden, it will be visible after clicking to switch it


$(function()){
       $("#panel").toggle(function(){
                $(this).next().toggle();
        },function(){
                 $(this).next().toggle();
        })
})

4. Event Bubbles

Bubbles: Nesting The elements correspond to the execution order of the same event, and the events follow the DOM hierarchy up to the top

Problems caused by event bubbling:

(1) Event object: event

To create an event object, you only need to add a parameter event to the event processing function. When an event is executed on an element, the event object is created. This object can only be accessed by the event processing function. After the event processing function is executed, the event object is destroyed

(2) Stop event bubbling: event.stopPropagation() method

(3) Prevent default behavior: event.preventDefault() method

Example: Form validation does not comply Prevent form submission when submitting conditions (default behavior)


$(function(){
      $("#sub").bind("click",function(event){
              var username=$("#username").val();
              if(username==""){
                     $(""#msg).html("<p>文本框内容不能为空</p>");
                     event.preventDefault();
              }
        })
})

If you want to stop bubbling and default behavior for the event object at the same time, you can do it in the event handler The function returns false

5. Event capture

Event capture and event bubbling are the process of thinking. Event capture is triggered from the top down

Not all browsers support event capture, and jQuery does not support it either

6. Properties of the event object

Properties And methodFunction##event.typeevent.preventDefault( )event.stopPropagation()event.targetevent.relatedTargetevent.pageX and event.pageYevent.whichevent.metaKey

 

 

 

 

 

 

 

 

补充:(1)JS中的stopPropagation()方法不兼容IE浏览器

            (2)在标准DOM中,mouseover和mouseout所发生的元素都可以通过event.target访问,相关元素是通过event.relatedTarget来访问的。event.relatedTarget相当于IE浏览器的event.fromElement,在mouseout中相当于IE的event.toElement。

            (3)在JS中,IE用event.x和event.y;Firefox用event.pageX/event.pageY。如果页面有滚动条,还要加上滚动条的宽度和高度。

 

6.移除事件

(1)移除按钮元素上已有的事件:$("#btn").unbind();

格式:unbind([type],[data]);

第一个参数是事件类型,第二个参数是将要移除的函数

①如果没有参数,删除所有绑定的事件。

②有参数只删除参数类型的绑定事件。

③如果把在绑定时传递的处理函数作为第二个参数,只有特定的事件处理函数会被删除。

(2)移除

在绑定时要给匿名函数指定一个变量


$(function(){
      $("#btn").bind("click",myFun1=function(){
           //代码1
      }).bind("click",myFun1=function(){
           //代码2
      })
})

单独移除某个绑定事件


$("#del1").click(function(){
      $("#btn").unbind("click",myFun2);
 })

注意:对于只需要触发一次就要立即解除绑定的情况,使用one()方法。one()方法可以为元素绑定处理函数,当处理函数触发一次后,立即被删除。即:在每个对象上,事件处理函数都只会被执行一次。one()方法的使用和bind()方法一样。

 

Get the type of event
Prevent default event behavior
Prevent event bubbling
Get the element that triggered the event
Return other DOM elements involved in the current event
Get the x and y coordinates relative to the page
Get the left, middle, and right mouse buttons in the mouse event; get the keyboard keys in the keyboard event
In the keyboard event Getkey

The above is the detailed content of Events in jQuery. For more information, please follow other related articles on the PHP Chinese website!

Statement
The content of this article is voluntarily contributed by netizens, and the copyright belongs to the original author. This site does not assume corresponding legal responsibility. If you find any content suspected of plagiarism or infringement, please contact admin@php.cn
From Websites to Apps: The Diverse Applications of JavaScriptFrom Websites to Apps: The Diverse Applications of JavaScriptApr 22, 2025 am 12:02 AM

JavaScript is widely used in websites, mobile applications, desktop applications and server-side programming. 1) In website development, JavaScript operates DOM together with HTML and CSS to achieve dynamic effects and supports frameworks such as jQuery and React. 2) Through ReactNative and Ionic, JavaScript is used to develop cross-platform mobile applications. 3) The Electron framework enables JavaScript to build desktop applications. 4) Node.js allows JavaScript to run on the server side and supports high concurrent requests.

Python vs. JavaScript: Use Cases and Applications ComparedPython vs. JavaScript: Use Cases and Applications ComparedApr 21, 2025 am 12:01 AM

Python is more suitable for data science and automation, while JavaScript is more suitable for front-end and full-stack development. 1. Python performs well in data science and machine learning, using libraries such as NumPy and Pandas for data processing and modeling. 2. Python is concise and efficient in automation and scripting. 3. JavaScript is indispensable in front-end development and is used to build dynamic web pages and single-page applications. 4. JavaScript plays a role in back-end development through Node.js and supports full-stack development.

The Role of C/C   in JavaScript Interpreters and CompilersThe Role of C/C in JavaScript Interpreters and CompilersApr 20, 2025 am 12:01 AM

C and C play a vital role in the JavaScript engine, mainly used to implement interpreters and JIT compilers. 1) C is used to parse JavaScript source code and generate an abstract syntax tree. 2) C is responsible for generating and executing bytecode. 3) C implements the JIT compiler, optimizes and compiles hot-spot code at runtime, and significantly improves the execution efficiency of JavaScript.

JavaScript in Action: Real-World Examples and ProjectsJavaScript in Action: Real-World Examples and ProjectsApr 19, 2025 am 12:13 AM

JavaScript's application in the real world includes front-end and back-end development. 1) Display front-end applications by building a TODO list application, involving DOM operations and event processing. 2) Build RESTfulAPI through Node.js and Express to demonstrate back-end applications.

JavaScript and the Web: Core Functionality and Use CasesJavaScript and the Web: Core Functionality and Use CasesApr 18, 2025 am 12:19 AM

The main uses of JavaScript in web development include client interaction, form verification and asynchronous communication. 1) Dynamic content update and user interaction through DOM operations; 2) Client verification is carried out before the user submits data to improve the user experience; 3) Refreshless communication with the server is achieved through AJAX technology.

Understanding the JavaScript Engine: Implementation DetailsUnderstanding the JavaScript Engine: Implementation DetailsApr 17, 2025 am 12:05 AM

Understanding how JavaScript engine works internally is important to developers because it helps write more efficient code and understand performance bottlenecks and optimization strategies. 1) The engine's workflow includes three stages: parsing, compiling and execution; 2) During the execution process, the engine will perform dynamic optimization, such as inline cache and hidden classes; 3) Best practices include avoiding global variables, optimizing loops, using const and lets, and avoiding excessive use of closures.

Python vs. JavaScript: The Learning Curve and Ease of UsePython vs. JavaScript: The Learning Curve and Ease of UseApr 16, 2025 am 12:12 AM

Python is more suitable for beginners, with a smooth learning curve and concise syntax; JavaScript is suitable for front-end development, with a steep learning curve and flexible syntax. 1. Python syntax is intuitive and suitable for data science and back-end development. 2. JavaScript is flexible and widely used in front-end and server-side programming.

Python vs. JavaScript: Community, Libraries, and ResourcesPython vs. JavaScript: Community, Libraries, and ResourcesApr 15, 2025 am 12:16 AM

Python and JavaScript have their own advantages and disadvantages in terms of community, libraries and resources. 1) The Python community is friendly and suitable for beginners, but the front-end development resources are not as rich as JavaScript. 2) Python is powerful in data science and machine learning libraries, while JavaScript is better in front-end development libraries and frameworks. 3) Both have rich learning resources, but Python is suitable for starting with official documents, while JavaScript is better with MDNWebDocs. The choice should be based on project needs and personal interests.

See all articles

Hot AI Tools

Undresser.AI Undress

Undresser.AI Undress

AI-powered app for creating realistic nude photos

AI Clothes Remover

AI Clothes Remover

Online AI tool for removing clothes from photos.

Undress AI Tool

Undress AI Tool

Undress images for free

Clothoff.io

Clothoff.io

AI clothes remover

Video Face Swap

Video Face Swap

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

Hot Tools

MantisBT

MantisBT

Mantis is an easy-to-deploy web-based defect tracking tool designed to aid in product defect tracking. It requires PHP, MySQL and a web server. Check out our demo and hosting services.

Dreamweaver Mac version

Dreamweaver Mac version

Visual web development tools

SublimeText3 Mac version

SublimeText3 Mac version

God-level code editing software (SublimeText3)

PhpStorm Mac version

PhpStorm Mac version

The latest (2018.2.1) professional PHP integrated development tool

WebStorm Mac version

WebStorm Mac version

Useful JavaScript development tools