时间:2021-05-26
本文实例讲述了JS事件绑定的常用方式。分享给大家供大家参考,具体如下:
常用的事件绑定的几种方式有三种:
一、直接在 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 boxbox.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程序设计有所帮助。
声明:本页内容来源网络,仅供用户参考;我单位不保证亦不表示资料全面及准确无误,也不保证亦不表示这些资料为最新信息,如因任何原因,本网内容或者用户因倚赖本网内容造成任何损失或损害,我单位将不会负任何法律责任。如涉及版权问题,请提交至online#300.cn邮箱联系删除。
本文实例讲述了js事件机制----捕获与冒泡机制。分享给大家供大家参考,具体如下:先从事件绑定机制说起,事件绑定机制通过绑定方法addEventListener
js事件绑定事件绑定,这里使用了冒泡的原理,从点击的元素开始,递归方式的向父元素传播事件,这样做的好处是对于大量要处理的元素,不必为每个元素都绑定事件,只需要在
jQuery绑定事件-多种实现方式总结$(function(){vartext=$(":text");varbutton=$(":button");//调试器记
本文实例讲述了JavaScriptDom绑定事件操作JavaScriptDom绑定事件操作。分享给大家供大家参考,具体如下:JavaScriptDom绑定事件/
本文实例讲述了jQuery支持动态参数将函数绑定到事件上的方法。分享给大家供大家参考。具体分析如下:下面的js代码提供了两种方法用于绑定函数到事件,其中方法二可