Javascript中的事件

JavaScript中的e

e是事件对象,就是js事件相关信息对象,而且根据不同的事件,属性值会不一样。比如  obj.onclick=function(e){

console.log(e);

}

这里的e就是obj点击事件的事件对象。

一个完整的事件系统,通常存在以下三个角色:

事件对象用于储存事件的状态。比如事件在其中发生的元素(e.srcElement),键盘按键的状态,鼠标的位置,鼠标的按钮的状态。事件对象由一个事件源生成。

什么时候产生事件对象?

当用户点击某个事件源的时候,就产生了一个事件对象。当事件监听器被触发时,就是监听器相应函数,事件就会被执行。该事件的本质就是一个函数,而这个函数的形参就收一个even对象,也就是事件对象。

事件源对象当前事件在操作的对象,过索引机制得到的对象(元素节点buttonsubmit什么的),文档对象,window对象 XMLHttpRequest对象等。

事件监听器:调用事件处理方法的对象。当一个事件源生成一个事件对象时IE,事件对象恒为全局属性window.event的分身。onclick,onmousemove之类的事件属性,它们充当事件监听器(事件驱动开关)onclick后面的函数就是回调函数(事件驱动程序),这是异步执行的。

JavaScript里面var e=window.event;var obj=e.srcElement;什么作用

var e=window.event;

是获取事件对象,这里是IE下的,eventwindow的一个属性;

var obj=e.srcElement;

是获取发生事件的那个元素,这个元素是一个对象,也就是事件源对象。这也是IE下的。

要实现所有浏览器兼容,就用以下代码:

var e = window.event || event;

var obj = e.srcElement || e.target

有如下题目:

1.请实现,鼠标点击页面中的任意标签,alert该标签的名称.(注意兼容性)

解答:<script type="text/javascript">

document.onclick=function(e){

     var e=(e||window.event);//获取事件对象

     var o=e["target"]||e["srcElement"];//获取发生事件的元素,即事件源

     alert(o.tagName.toLowerCase());

}

</script>

document 简单的理解就是页面。

onclick  是点击事件。

document.onclick 就是给页面添加点击事件。

原文地址:https://www.cnblogs.com/susan-home/p/8761751.html