jQuery事件绑定和JavaScript原生事件绑定的区别
2017-08-31 14:53
561 查看
jQuery中的事件绑定具有叠加性,JavaScript原生的事件绑定则是可覆盖的。具体看一下示例代码:
HTML界面如下:
点击第一个按钮后,在浏览器的调试窗口(F12)可以看到如下结果:
点击第二个按钮后,输出结果为:
代码中使用jQuery的事件绑定方法对同一个按钮的click事件先后绑定了三个处理函数,显示结果说明了jQuery的事件处理函数是叠加的;而使用JavaScript原生的事件绑定可以发现后面绑定的事件处理函数覆盖了前面的事件处理函数。
这个差异在使用jQuery包进行前端开发的过程中可能会对程序造成影响。
当我们需要累加事件处理函数,可以直接使用jQuery的事件绑定;然而当我们需要重新设定事件的处理函数时,若使用的是jQuery事件绑定,则需要注意在重新绑定事件之前解绑之前的事件(unbind)。
<html> <head> <title>test</title> <script type="text/javascript" src="https://code.jquery.com/jquery-3.2.1.min.js"></script> </head> <body> <input type="button" value="click me"> <input type="button" id="click me2" value="click me2"> <script> $(":input[value='click me']").click(function(){ console.log("first")} ); $(":input[value='click me']").click(function(){ console.log("second")} ); $(":input[value='click me']").click(function(){ console.log("3rd")} ); var cm2 = document.getElementById("click me2"); cm2.onclick=function(){ console.log("first"); }; cm2.onclick=function(){ console.log("second"); }; cm2.onclick=function(){ console.log("3rd"); }; </script> </body> </html>
HTML界面如下:
点击第一个按钮后,在浏览器的调试窗口(F12)可以看到如下结果:
点击第二个按钮后,输出结果为:
代码中使用jQuery的事件绑定方法对同一个按钮的click事件先后绑定了三个处理函数,显示结果说明了jQuery的事件处理函数是叠加的;而使用JavaScript原生的事件绑定可以发现后面绑定的事件处理函数覆盖了前面的事件处理函数。
这个差异在使用jQuery包进行前端开发的过程中可能会对程序造成影响。
当我们需要累加事件处理函数,可以直接使用jQuery的事件绑定;然而当我们需要重新设定事件的处理函数时,若使用的是jQuery事件绑定,则需要注意在重新绑定事件之前解绑之前的事件(unbind)。
相关文章推荐
- jQuery 事件绑定 和 JavaScript 原生事件绑定
- Jquery中的事件与传统的javascript中事件区别: Jquery中事件允许绑定多个函数,而javascript中一个事件只能绑定一个函数.
- [TOP]原生JS事件绑定方法以及jQuery绑定事件方法bind、live、on、delegate的区别
- [HTML5]原生事件绑定和jquery动态事件绑定的区别
- 原生JS事件绑定方法以及jQuery绑定事件方法bind、live、on、delegate的区别
- 在javascript或者jQuery中绑定按钮点击事件,和在HTML 标签中直接调用onclick属性有什么区别?
- Jquery绑定事件(bind和live的区别)
- jquery的bind跟on绑定事件的区别
- Jquery事件绑定函数:on和bind的区别
- Jquery 日记一:bing live delegate三个绑定事件操作的区别 !
- Jquery绑定事件(bind和live的区别)
- [jQuery]on和bind事件绑定的区别
- JavaScript事件绑定和普通事件区别
- 关于jQuery绑定事件on和bind的区别详解 -- sanai
- JavaScript 三种绑定事件方式之间的区别
- javascript事件绑定1-模拟jquery可爱的东西
- 关于原生事件绑定和jquery的On
- 我的JavaScript回顾之路_05—0210—js和jq绑定事件的区别/事件冒泡
- JavaScript之jQuery-10 T-Query(T-Query、基本选择器、T-Query对象、操作方法、创建元素、事件绑定)
- jQuery事件绑定用法详解(附bind和live的区别)