event

Event

理解JavaScript中的事件处理  

关于window.onload加载的多种解决方案  

事件对象中target对象和currentTarget对象的区别

  1、target在事件流的目标阶段; currentTarget在事件流的捕获、目标和冒泡阶段

  2、event.currentTarget指向事件所绑定的元素;event.target指向事件发生时的元素

  3、事件真正的发送者是 event.target(可变的(点击不同子元素结果不同));注册侦听器的是event.currentTarget(不会变)

  4、Google浏览器,支持srcElement和target,这两个标签本质相同

    Firefox只支持 target标签

 

注册事件侦听器

  三种方式为DOM元素注册事件处理函数

    EventTarget.addEventListener

      element.attachEvent()(IE6-8)

    HTML属性

    DOM元素属性

DOM Event接口

  属性:

    event.bubbles(只读)    事件是否在DOM中冒泡

    event.cancelable(只读)     事件是否可以取消

    event.currentTarget(只读)   当前注册事件的对象引用(不变化)

      即:代码书写时绑定事件的DOM元素,当将相同事件处理程序附加到多个元素时,可以区分被绑事件的元素

    event.target(只读)    事件起源目标的引用(变化)

      //IE 6~8  element.attachEvent()绑定事件监听器,e.srcElement等价于 e.target

      var target = e.target || e.srcElement;

    event.type(只读)    事件的类型(不区分大小写)

              event.eventPhase  事件阶段常量

      0(NONE 没有事件被处理)、1(CAPTURING_PHASE 捕获阶段)2、(AT_TARGET 目标阶段)3、(BUBBLING_PHASE冒泡阶段)

  方法:

    event.initEvent  给被创建的事件初始化某些值

    event.preventDefault  取消事件(若该事件可取消)

      若事件可取消,则取消该事件,而不停止事件的进一步传播。

    event.stopPropagation  阻止捕获和冒泡阶段中 当前事件的进一步传播

  

mousedown--->mouseup--->click

keydown--->keyup--->keypress

  

posted @ 2017-11-06 10:15  翰弟  阅读(210)  评论(0编辑  收藏  举报