event对象
js中一切都是对象,可这个对象和对象是不同的。比如event对象。
什么是event对象?
对于HTML
Event 对象代表事件的状态,比如事件在其中发生的元素、键盘按键的状态、鼠标的位置、鼠标按钮的状态。
事件通常与函数结合使用,函数不会在事件发生前被执行!
对于js
Event对象代表事件的状态,比如事件在其中发生的元素、键盘按键的状态、鼠标的位置、鼠标按钮的状态。
它是事件绑定中的一个隐藏参数,即实参,可以使用arguments[0]来获取。但是这样比较麻烦,所以我们采取传递一个形参来获取它。
例如:var e = event || window.event;考虑到兼容性。
JS的Event对象是触发事件的时候传递给事件处理函数的一个对象,这个对象中存在触发事件的基本信息。如:触发事件的事件源、键盘码(如果存在)等基本信息。
举个例子
$(function(){
$("p").on("click",{msg:"you clicked me"},function(e){
alert(e.data.msg);
});
})
上述function中的参数e就是event对象,用于属性和方法。
event对象能干啥?
比如获取鼠标位置(现实需求),就是利用event对象的clientX属性。试想没有event对象如何获取鼠标位置?
js获取鼠标位置实例详解javascript技巧脚本之家
JavaScript获取鼠标位置的三种方法 - Scott-Jeremy - 博客园