Home >Web Front-end >JS Tutorial >Events in jQuery
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(){})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 | $(document) It can be abbreviated as $(), which defaults to document without parameters, so it can be abbreviated as: | |||||||||||||||||
②$(function (){}) | Comparison | Greatly improves the corresponding speed of web applications||||||||||||||||||
Disadvantages | The associated file of the element has not been downloaded, causing some attributes to be invalid | ||||||||||||||||||
Solution | Use another method about page loading-the load() method | ||||||||||||||||||
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 eventshover() 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 captureEvent 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
|
The above is the detailed content of Events in jQuery. For more information, please follow other related articles on the PHP Chinese website!