Web Event接口

26 篇文章 1 订阅

、定义:Event接口表示在DOM中发生的任何事情;一些是用户生成的(如用户点击鼠标,按下键盘等,都会生成一个事件),一些是由其它API生成的(如动画结束事件,过渡结束,视频播放被暂停等...)。事件通过由外部源触发,也可由编程方式触发,例如ele.click(),触发一个单击事件,或者通过定义事件,然后使用eleTarget.dispatch(event)分发一个事件。

、DOM元素注册事件处理函数的方法

  • 通过事件监听器addEventListener
myButton.addEventListener('click', function(){alert('Hello world');}, false);
  • html的属性 on[事件名]
<button onclick="alert('Hello world!')">
  • DOM元素的属性
myButton.onclick = function(event){alert('Hello world');};

、Event对象常用属性

  • event.bubbles  返回一个布尔值,表明前事件是否会向DOM树上层元素冒泡.
  • event.cancelable 返回一个布尔值,表明该事件是否可以被取消默认行为, 如果该事件可以用 preventDefault() 可以阻止与事件关联的默认行为,则返回 true,否则为 false
  • event.currentTarget  返回当事件沿着 DOM 触发时事件的当前目标,它总是指向事件绑定的元素
  • event.target  返回事件触发的元素
  • event.timestamp  返回事件发生的时间戳
  • event.type  返回一个字符串,表示当前事件的类型
  • event.eventPhase  返回一个整数值,代表当前执行阶段。【0】、这个时间段,没有事件被处理。【1】、事件正在被目标元素的祖先对象在处理,这个处理过程从Window开始,然后Document, 然后是HTMLHtmlElement, 一直这样,直到目标元素的父元素。 通过EventTarget.addEventListener() 注册为捕获模式的Event Listener 被调用。【2】、事件对象已抵达event.target目标对象,为这个阶段注册的事件监听被调用, 如果 Event.bubbles 的值为false, 对事件对象的处理在这个阶段后就会结束。【3】、事件对象逆向向上传播回目标元素的祖先元素, 从父亲元素开始,并且最终到达包含元素 Window,这就是冒泡,并且只有Event.bubbles值为true的时候才会发生。 为这个阶段注册的Event listeners在这个过程中被触发。

四、编程式触发事件以MouseEvent为例

var btn = document.createElement('button')
var event = new MouseEvent('click',{
    bubbles:true,
    cancelable:true
})
btn.dispatchEvent(event)
btn.addEventListener('click',function(){})

 

 

  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值