关于注册事件的方式及相关问题

本文探讨了JavaScript中事件的绑定方式,包括`on + 事件类型`、`addEventListener`和`attachEvent`,并指出它们的区别。还介绍了事件传播过程中的冒泡现象及其可能带来的问题,以及如何阻止冒泡。同时,详细讲解了事件对象的属性如`type`、`clientX/clientY`等,以及如何阻止默认行为如`preventDefault()`和几种阻止a标签跳转的方法。
摘要由CSDN通过智能技术生成

===> 元素对象. on + 事件类型 =function( ){ }

语法格式: 事件源.on + 事件类型 = 事件处理程序

 var btn  =  document.getElementById("btn");
 btn.onclick = fuction( ){ }
 
实现过程:在事件源触发了响应操作之后,后面的事件处理程序就会呗浏览器调用
事件的解绑:事件源.on + 事件类型 = null;

*注:常见的事件类型 ==>  onclick(点击事件) \ onfpucs(获取焦点事件) \ onblur(失去焦点事件) \  onmouseover、mouseenter(鼠标移入事件)  \  onmouseout、mouseleave(鼠标移出事件)  \  ondblclick(双击事件)  \  onkeyup(键盘弹起事件)  \ keydown (键盘按下事件)  \   mousemove(鼠标移动事件)
区别:
1、onmouseover、onmouseout:鼠标经过时自身触发事件,经过其子元素时也触发该事件;(父亲有的东西,儿子也有) ,支持冒泡
2、onmouseenter、onmouseleave:鼠标经过时自身触发事件,经过其子元素时不触发该事件。(父亲的东西就是父亲的,不归儿子所有) ,不支持冒泡

===> 对象. addEventListener(事件类型,事件处理程序,是否在捕获阶段执行(可省略))
对象. addEventListener(“click”,function(){ });
事件的解绑:事件源.removeEventListener(”事件类型“,函数名,哪个阶段);

*注:IE8不支持

===> 对象. attachEvent(“on”+事件类型,事件处理程序);
对象.attachEvent(“onclick”,function(){ });
事件解绑:事件源.detachEvent( “事件类型”,函数名);

*注:仅 IE5-IE10 支持

==> addEventListener和attachEvent区别:

  1. 前者有三个参数,后者只有两个
  2. 前者类型不带 on ,后者需要带 on
  3. this 指向不一样,前者指向事件源,后者指向 window,可以通过wind
  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

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

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

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值