当前位置: 首页 > 编程笔记 >

JS事件绑定的常用方式实例总结

黎征
2023-03-14
本文向大家介绍JS事件绑定的常用方式实例总结,包括了JS事件绑定的常用方式实例总结的使用技巧和注意事项,需要的朋友参考一下

本文实例讲述了JS事件绑定的常用方式。分享给大家供大家参考,具体如下:

常用的事件绑定的几种方式有三种:

  • 直接在 dom 元素上进行绑定。
  • 用 on 绑定。
  • 用 addEventListener、attachEvent 绑定。

一、直接在 dom 元素上进行绑定

<input id="btn1" type="button" onclick="test();" />

二、用 on 绑定

兼容性:在IE,FF,Chrome,Safari,Mozilla,Opera下都适用。

// onclick绑定
document.body.onclick = () => {
  console.log(111)
}
// 解绑
document.body.onclick = null;

但是,同一个 dom 元素上,on 只能绑定一个同类型事件,后者会覆盖前者,不同类型的事件可以绑定多个。

三、用 addEventListener、attachEvent 绑定

同一个 dom 元素上,用 addEventListener、attachEvent 可以绑定多个同类型事件。

但是,addEventListener 事件执行顺序按照事件绑定的先后顺序执行;attachEvent 事件执行顺序则是随机的。

addEventListener

// 绑定
document.body.addEventListener('click', bodyClick, false);
// 解绑
document.body.removeEventListener('click', bodyClick, false);

注意:removeEventListener 第二个参数要和 addEventListener 指向同一个函数才能解绑成功。

addEventListener 的第三个参数若为 false,函数在冒泡阶段执行;若为 true,函数在捕获阶段执行。默认为 false。

<div id="box">
   <div id="child"></div>
</div>

box.addEventListener("click", function(){
  console.log("box");
}, false);
child.addEventListener("click", function(){
  console.log("child");
});
// 执行顺序为 child box

box.addEventListener("click", function(){
  console.log("box");
}, true);
child.addEventListener("click", function(){
  console.log("child");
});
// 执行顺序为 box child

兼容性

Chrome 和 FireFox 只支持 addEventListener;IE 只支持 attachEvent(IE11开始不支持了)。

所以必须对2种方法做兼容处理。原理是先判断 attachEvent 是否为真,如果为真则用 attachEvent 绑定事件,否则用 addEventListener 绑定事件。

可以封装一个函数做兼容性处理:

//dom绑定事件的元素,ev事件名,fn执行函数
function myAddEvent(dom, ev, fn){
  if(dom.attachEvent){
    dom.attachEvent("on"+ev, fn);
  }else {
    dom.addEventListener(ev, fn, false);
  }
}
myAddEvent(d1, "click", ()=>{
  console.log(1111)
});

另外

以上三种方式绑定的点击事件都可以用下面这条语句触发

document.getElementById("btn").click();

PS:关于javascript事件说明可参考本站javascript事件与功能说明大全:http://tools.jb51.net/table/javascript_event

更多关于JavaScript相关内容感兴趣的读者可查看本站专题:《JavaScript事件相关操作与技巧大全》、《JavaScript操作DOM技巧总结》、《JavaScript页面元素操作技巧总结》、《JavaScript数据结构与算法技巧总结》、《JavaScript遍历算法与技巧总结》及《JavaScript错误与调试技巧总结》

希望本文所述对大家JavaScript程序设计有所帮助。

 类似资料:
  • 本文向大家介绍jQuery绑定事件-多种实现方式总结,包括了jQuery绑定事件-多种实现方式总结的使用技巧和注意事项,需要的朋友参考一下 jQuery绑定事件-多种实现方式总结 以上这篇jQuery绑定事件-多种实现方式总结就是小编分享给大家的全部内容了,希望能给大家一个参考,也希望大家多多支持呐喊教程。

  • 本文向大家介绍js绑定事件和解绑事件,包括了js绑定事件和解绑事件的使用技巧和注意事项,需要的朋友参考一下 在js中绑定多个事件用到的是两个方法:attachEvent和addEventListener,但是这两个方法又存在差异性 attachEvent方法  只支持IE678,不兼容其他浏览器 addEventListener方法   兼容火狐谷歌,不兼容IE8及以下 addEventListe

  • 本文向大家介绍多种jQuery绑定事件的实现方式,包括了多种jQuery绑定事件的实现方式的使用技巧和注意事项,需要的朋友参考一下 最近发现jQuery一个对象的事件可以重复绑定多次,当事件触发的时候会引起代码多遍执行。 下面是一个click事件被重复绑定的示例: 下面给出解决方法: 对于需要重复绑定的场景,再事件注册时候考虑用先unbind 再bind的方法;或者先off 再on 那jQuery

  • 本文向大家介绍jQuery绑定事件的几种实现方式,包括了jQuery绑定事件的几种实现方式的使用技巧和注意事项,需要的朋友参考一下 本文实例为大家分享了jQuery绑定事件多种实现方法,供大家参考,具体内容如下 以上就是本文的全部内容,希望对大家的学习有所帮助,也希望大家继续关注小编为大家分享的精彩文章。

  • 本文向大家介绍java常见事件响应方法实例汇总,包括了java常见事件响应方法实例汇总的使用技巧和注意事项,需要的朋友参考一下 本文实例汇总了java中常见的事件响应方法,包括容器类监听、监听器类、AbstractAction、反射等。以方便大家参考。具体方法如下: 首先,在Java图形用户界面中,处理事件时所必须的步骤是: 1、创建接受响应的组件(控件) 2、实现相关事件监听接口 3、注册事件源

  • 本文向大家介绍jQuery事件绑定和委托实例,包括了jQuery事件绑定和委托实例的使用技巧和注意事项,需要的朋友参考一下 本文实例讲述了jQuery事件绑定和委托。分享给大家供大家参考。具体方法如下: jQuery事件的绑定和委托可以用多种方法实现,on()  、 bind()  、 live()  、 delegate() ,还有one()。   有时我们可能会像下面这样绑定一个事件: 上面的