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) });
以上三种方式绑定的点击事件都可以用狼蚁网站SEO优化这条语句触发
document.getElementById("btn").click();
PS关于javascript事件说明可参考本站javascript事件与功能说明大全
更多关于JavaScript相关内容感兴趣的读者可查看本站专题《》、《》、《》、《》、《》及《》
希望本文所述对大家JavaScript程序设计有所帮助。
编程语言
- 如何快速学会编程 如何快速学会ug编程
- 免费学编程的app 推荐12个免费学编程的好网站
- 电脑怎么编程:电脑怎么编程网咯游戏菜单图标
- 如何写代码新手教学 如何写代码新手教学手机
- 基础编程入门教程视频 基础编程入门教程视频华
- 编程演示:编程演示浦丰投针过程
- 乐高编程加盟 乐高积木编程加盟
- 跟我学plc编程 plc编程自学入门视频教程
- ug编程成航林总 ug编程实战视频
- 孩子学编程的好处和坏处
- 初学者学编程该从哪里开始 新手学编程从哪里入
- 慢走丝编程 慢走丝编程难学吗
- 国内十强少儿编程机构 中国少儿编程机构十强有
- 成人计算机速成培训班 成人计算机速成培训班办
- 孩子学编程网上课程哪家好 儿童学编程比较好的
- 代码编程教学入门软件 代码编程教程