谈谈事件对象-event

作者: baiying | 来源:发表于2017-08-17 11:03 被阅读60次

在触发DOM上的某个事件时,会产生一个事件对象event,这个对象包含着所有与事件有关的信息,包括导致事件的元素,事件类型以及其他与特定事件相关的信息.

DOM中的事件对象

兼容DOM的浏览器会将一个event传入事件处理程序中

//html
<body>
<input id = 'btn' type = 'button'/>
</body>

//css
var btn  = document.getElementById('btn');
btn.onclick = function(event){
  console.log(event);
  console.log(event.type);
}

event输出是一个对象,并且非常庞大,在此截取一部分如下

event
event.type输出是一个字符串'click',typeevent的一个属性,表示事件类型
  • 常见的event属性/方法
    1.cancelable:是否可以取消事件的默认行为
    2.bubbles:事件是否冒泡
    3.currentTarget:/事件处理程序当前正在处理的那个元素
    4.target:事件的实际目标
    5.type:被触发的事件类型
    6.eventPhase:表示事件处理程序的阶段,1表示捕获2表示处于目标3表示冒泡阶段
    7.preventDefault():取消事件的默认行为,如果cancelable属性是true,则可以使用这个方法
    8.stopPropagation():取消事件的进一步捕获或者冒泡,如果bubbles为true则可以调用这个方法

只有在事件处理程序执行阶段,event才存在,一旦执行完成,event就会被销毁

IE中的事件对象

与访问DOM中的事件对象不同,访问IE中的event对象有几种不同的方式,取决于指定时间处理程序的方法

  • 使用DOM0级方法添加事件处理程序
//html
<body>
<input id = 'btn' type = 'button'/>
</body>

//css
var btn  = document.getElementById('btn');
btn.onclick = function(){
  var event = window.event; //通过Window对象获取event对象
  alert(event.type);//'click'
}
  • 使用attachEvent()方法添加的事件处理程序
var btn = document.getElementById('btn');
btn.attachEvent('onclick',function(event){//可以通过window.event访问,也可作为参数传递
   alert(event.type);
});
  • 常见的属性和方法
    1.cancelBubble:默认值为false,设置为true就可以取消事件冒泡
    2.returnValue:默认值为false,设置为true就可以取消事件的默认行为
    3.srcElement:事件的目标
    4.type:被触发的事件类型

相关文章

  • 谈谈事件对象-event

    在触发DOM上的某个事件时,会产生一个事件对象event,这个对象包含着所有与事件有关的信息,包括导致事件的元素,...

  • event 事件对象

    event 对象及使用 event 对象是什么? event 对象表示事件的状态,当 dom 树中某个事件被触发时...

  • 20-第二十章 event对象 阻止冒泡 注册/ 移除监听事件

    一、事件event对象 Event 对象 /ɪ'vent/ 事件用来获取事件的详细信息:鼠标位置、键盘按键 主...

  • DOM事件(二)

    一、 事件对象 1.1 DOM中的事件对象 在触发DOM上的某个事件时,会产生一个事件对象event: event...

  • 事件对象

    事件对象 事件对象特点: 只有在事件处理程序执行期间,event对象才存在,一旦事件处理程序执行完成,event对...

  • 18、事件对象

    事件:用户的行为 事件对象 event : 储存[描述]了事件更详细的信息. 事件对象就是event,类似一个盒子...

  • 第七课 js事件

    event事件对象 1、什么是event事件对象? 用来获取事件的详细信息:鼠标位置、键盘按键 ——例子:获取鼠标...

  • js事件

    event事件对象 1、什么是event事件对象? 用来获取事件的详细信息:鼠标位置、键盘按键 ——例子:获取鼠标...

  • 事件对象

    事件对象 event(e) 当DOM操作触发某个事件时,会产生事件对象event当事件被触发时产生,事件执行完毕时...

  • 事件对象和事件委托

    事件对象事件发生的详细信息 在ie和chrome 事件详细信息保存到内置的 event对象中Event 对象代表事...

网友评论

    本文标题:谈谈事件对象-event

    本文链接:https://www.haomeiwen.com/subject/rvlgrxtx.html