First introduce the event object. Events exist in the form of objects in the browser, that is, events. When an event is triggered, an event object event is generated, which contains all information related to the event. Includes the elements that caused the event, the type of event, and other information related to the specific event. This article mainly introduces the relevant information about js event objects in JavaScript events. It is very good and has reference value. Friends in need can refer to it
1. Event object
#1. Understanding the event object
Events exist in the form of objects in the browser, that is, events. When an event is triggered, an event object event is generated, which contains all information related to the event. Includes the elements that caused the event, the type of event, and other information related to the specific event.
For example: the event generated by mouse operation will contain information about the mouse position; the event generated by keyboard operation will contain information related to the pressed key.
All browsers support event objects, but the support methods are different. In DOM, the event object must be passed as the only parameter to the event processing function. In IE, event is an attribute of the window object.
2. Event
<input id="btn" type="button" value="click" onclick=" console.log('html事件处理程序'+event.type)"/>
in the html event handler will create a function containing the local variable event. Event objects can be accessed directly through event.
3. Event objects in DOM
Both DOM0-level and DOM2-level event handlers will pass in event as a parameter.
<body> <input id="btn" type="button" value="click"/> <script> var btn=document.getElementById("btn"); btn.onclick=function(event){ console.log("DOM0 & click"); console.log(event.type); //click } btn.addEventListener("click", function (event) { console.log("DOM2 & click"); console.log(event.type); //click },false); </script> </body>
4. Event object in IE
The first case: When adding an event handler through the DOM0 level method, the event object is used as the window object A property exists.
<body> <input id="btn" type="button" value="click"/> <script> var btn=document.getElementById("btn"); btn.onclick= function () { var event=window.event; console.log(event.type); //click } </script> </body>
The second case: the event handler added through attachEvent(), the event object is passed in as a parameter.
<body> <input id="btn" type="button" value="click"/> <script> var btn=document.getElementById("btn"); btn.attachEvent("onclick", function (type) { console.log(event.type); //click }) </script> </body>
But there are two things I don’t understand.
1. An event parameter can also be passed in to the event handler added through the DOM0 level method. Its type is the same as window.event.type, but the event parameter passed in is different. It’s different from window.event, why?
btn.onclick= function (event) { var event1=window.event; console.log('event1.type='+event1.type); //event1.type=click console.log('event.type='+event.type); //event.type=click console.log('event1==event?'+(event==event1)); //event1==event?false }
2. The event passed in the event handler added through attachEvent is different from window.event. Why?
<body> <input id="btn" type="button" value="click"/> <script> var btn=document.getElementById("btn"); btn.attachEvent("onclick", function (type) { console.log(event.type); //click console.log("event==window.event?"+(event==window.event)); //event==window.event?false }) </script> </body>
The above is the JavaScript event learning summary introduced by the editor (3) Related knowledge of js event objects. I hope it will be helpful to everyone. If you want to know more Please pay attention to the Script House website for content!
Related recommendations:
javaScript event learning summary (4) Public members (properties and methods) of event
JavaScript event learning summary (5) Mouse event of event type in js
The above is the detailed content of Let me introduce you to event objects. What are the js event objects?. For more information, please follow other related articles on the PHP Chinese website!