用JavaScript事件对象事件法分析

  

本文实例讲述了JavaScript事件对象事件用法。分享给大家供大家参考,具体如下:

  

前面的文章已经介绍了JavaScript为事件指定处理程序的五种方式。

  

下面继续介绍JavaScript的事件对象事件。

  

事件对象事件包含导致事件的元素,事件的类型以及其他与特定事件相关的信息。

  

  

           属性/方法   类型   说明         泡沫   布尔   表明事件是否冒泡         cancelabel   布尔   表明是否可以取消事件的默认行为         currentTarget   元素   事件处理程序当前正在处理事件的那个元素(监听事件的那个元素)         defaultPrevented   布尔   真实的表示已经调用了preventDefault ()         细节   整数   与事件相关的细节信息         eventPhase   整数   调用事件处理程序的阶段:1表示捕获阶段,2表示处于目标,3表示冒泡阶段         preventDefault ()   函数   取消事件的默认行为,可取消为真实才可使用此方法         stopImmediatePropagation ()   函数   取消事件的捕获或冒泡,同时阻止任何事件处理程序被调用         stopPropagation ()   函数   取消事件的捕获或冒泡,泡沫为真实才可使用此方法         目标   元素   事件的目标         受信任的   布尔   真表示事件是浏览器生成的,假表示事件是由开发人员通过JavaScript创建的         类型   字符串   事件的类型         视图   AbstractView   与事件关联的抽象视图,等同于发生事件的窗口对象            

  

若直接将事件处理程序指定给了目标元素,则这个,<代码> currentTarget 和<代码> 目标包含相同的值,若事件处理程序存在于按钮的父节点中,则这<代码> 和<代码> currentTarget>   

在需要通过一个函数处理多个事件时,可以使用类型属性:

        var btn=document.getElementsByTagName(“按钮”)[0];   var处理程序=函数(事件){   开关(event.type) {   例“点击”:   警报(“点击”);   例“鼠标悬停”:   警报(“鼠标悬停”);   例“mouseout”:   警报(“mouseout”);   }   }   btn。onclick=处理程序;   btn。鼠标移到目标上=处理程序;   btn。onmouseout=处理程序;      之前      

<强>注意:只有在事件处理程序执行期间,事件对象才会存在,一旦事件处理程序执行完毕,事件对象就会被销毁。

  

  

访问IE中事件的对象有几种不同的方式:

  

1)在使用DOM0)级方法添加事件处理程序时,通过<代码> window.event 访问事件对象,

  

2)在使用<代码> attachEvent() 方法添加事件处理程序时,事件对象会作为参数被传入事件处理程序中,也可以通过<代码> window.event 访问事件对象,

  

3)在通过HTML特性指定事件处理程序时,还可以通过一个名为事件的变量来访问事件对象。

  

IE中的事件目标通过属性获取,这个不一定等于事件目标:在使用DOM0)级方法添加事件处理程序时,这等于事件目标,但在使用<代码> attachEvent() 方法添加事件处理程序时,<代码> 则不等于事件目标。

  

           属性/方法   类型   说明         cancelBubble   布尔   默认为false,但将其设置为正确就可以取消事件冒泡,由于IE不支持事件捕获,因此只能取消事件冒泡,而stopPropagation()则可以同时取消事件捕获或冒泡         returnValue   布尔   默认为真,但将其设置为假就可以取消事件的默认行为         srcElement   元素   事件的目标         类型   字符串   事件的类型            

  

        var EventUtil={   addHandler:函数(元素、类型、处理程序){   ……   },   getEvent:函数(事件){   返回事件& # 63;事件:window.event;   },   getTarget:函数(事件){   enent返回。目标| | target.srcElement;   },   preventDefault:函数(事件){   如果(event.preventDefault)   事件。防止发生():   其他的   事件。returnValue=https://www.yisu.com/zixun/false;   },   removeHandler:函数(元素、类型、处理程序){   ……   },   stopPropagation:函数(){   如果(event.stopPropagation)   event.stopPropagation ();   其他的   事件。cancelBubble=true;   }   };   var btn=document.getElementsByTagName(“按钮”)[0];   btn。onclick=函数(事件){   事件=EventUtil.getEvent(事件);   EventUtil.preventDefault(事件);   EventUtil.stopPropagation(事件);   警报(event.target.type);//输出:点击   }      

用JavaScript事件对象事件法分析