兼容性问题
1 | // 用来判断是IE或者Firefox,并赋值给对象。 arguments[0] Firefox |
Event对象
Event 对象代表事件的状态,比如事件在其中发生的元素、键盘按键的状态、鼠标的位置、鼠标按钮的状态。
-
什么时候会产生Event 对象呢?
例如: 当用户单击某个元素的时候,我们给这个元素注册的事件就会触发,该事件的本质就是一个函数,而该函数的形参接收一个event对象。 -
事件通常与函数结合使用,函数不会在事件发生前被执行!
Event属性
属性 | 描述 |
---|---|
Event.bubbles |
一个布尔值,指示事件是否通过DOM冒泡。 |
Event.cancelBubble |
一个历史别名Event.stopPropagation() 。true在从事件处理程序返回之前将其值设置为阻止事件的传播。 |
Event.cancelable |
一个布尔值,指示事件是否可取消。 |
Event.composed |
一个布尔值,指示事件是否可以在影子DOM和常规DOM之间的边界上冒泡。 |
Event.currentTarget |
对当前注册的事件目标的引用。这是当前要发送事件的对象; 通过重新定位,这可能会发生变化。 |
Event.deepPath |
一个ArrayDOM的Nodes到该事件已经起泡。 |
Event.defaultPrevented |
指示是否event.preventDefault() 已在事件上调用。 |
Event.eventPhase |
指示正在处理事件流的哪个阶段。 |
Event.explicitOriginalTarget |
事件的明确原始目标(特定于Mozilla)。 |
Event.originalTarget |
事件的原始目标,在任何重定向之前(特定于Mozilla)。 |
Event.returnValue |
Internet Explorer引入的历史属性,最终被采用到DOM规范中,以确保现有站点继续工作。理想情况下,您应该尝试使用Event.preventDefault() 而Event.defaultPrevented 不是,但returnValue如果您选择这样做,则可以使用。 |
Event.srcElement |
非标准别名(来自旧版本的Microsoft Internet Explorer)Event.target,为了Web兼容性目的,其他一些浏览器开始支持该别名。 |
Event.target |
对最初分派事件的目标的引用。 |
Event.timeStamp |
创建事件的时间(以毫秒为单位)。根据规范,这个值是自纪元以来的时间,但实际上浏览器的定义各不相同; 此外,正在努力改变这一点DOMHighResTimeStamp。 |
Event.type |
事件的名称(不区分大小写)。 |
Event.isTrusted |
指示事件是由浏览器(例如在用户单击之后)还是由脚本(使用事件创建方法,如event.initEvent)启动的。 |
Event方法
方法 | 描述 |
---|---|
Event.createEvent() |
创建一个新事件,然后必须通过调用其initEvent() 方法对其进行初始化。 |
Event.composedPath() |
返回事件的路径(将调用侦听器的对象)。如果阴影根是在ShadowRoot.mode关闭的情况下创建的,则不包括阴影树中的节点。 |
Event.initEvent() |
初始化创建的事件的值。如果事件已经被调度,则此方法不执行任何操作。 |
Event.preventDefault() |
取消事件(如果可以取消)。 |
Event.stopImmediatePropagation() |
对于此特定事件,不会调用其他侦听器。既不附加在同一元素上,也不附加在稍后将遍历的元素上(例如,在捕获阶段) |
Event.stopPropagation() |
阻止事件在DOM中进一步传播。 |
欣赏此文,打赏一下