原生js 与 jQuery对比
1、原生JS与jQuery操作DOM对比 : https://www.cnblogs.com/QianBoy/p/7868379.html
2、比较jQuery与JavaScript的不同功能实现 : http://www.cnblogs.com/QianBoy/p/7868291.html
3、原生JS与jQuery事件绑定对比:
原生js : onclick绑定的事件具有可覆盖性 解除绑定方法: btn1.onclick = null ; //去掉绑定的事件
addEventListener 具有 叠加性 btn2.removeEventListener('click', showMsg, false); //去除绑定
(attachEvent,这个是兼容ie的,等效于addEventListener,区别 请搜索)
js中触发标签绑定的事件函数(非标签事件触发) : .click () 参考:https://blog.csdn.net/zsytechnology/article/details/78128054
jQuery : .click() 解除绑定: unbind .click()与on的区别 参考:https://www.cnblogs.com/sqh17/p/7746418.html
bind(推荐使用on) 解除绑定: unbind
on off
js中触发标签绑定的事件函数(非标签事件触发) : trigger() http://www.w3school.com.cn/jquery/event_trigger.asp
js 触发 dom事件:
说明:有的情况,我们需要js去触发dom事件。如,下载功能,通过js生成的DOM对象,只能通过js触发;另外一种情况,有联动关系的表单,其中一个表单A选择了特定值。需要导致另外一个表单B的值改变,并且B改变要执行他所在的事件函数【这种情况还是会经常碰到的,如果不通过js触发对方的事件。就需要在A改变时,把B的事件函数上的代码重新写一遍。如果可以js直接触发就可以了】。
1、点击事件:
- js原生方法:dom.click()
- jquery方法:
2、select 的 change事件:【所有的js触发事件,都可以用下面这这种方式实现】
- js原生方法:通过 dispatch 方法触发【具体的还在研究】https://blog.csdn.net/iteye_17835/article/details/105111032
<select name="mysel" onchange="A(this)" > <option value="1">11</option> <option value="2">22</option> <option value="3">33</option> </select> <button onclick="runfun()"> 手动触发select的change事件 </button>
var sel = document.getElementById('sel'); sel.addEventListener("change", A(sel), false); function A(obj){ alert(obj.value); } // 手动触发 change 事件 function runfun(){ sel.value = 2; var myEvent = new Event("change"); // 生成一个模拟用户触发事件的对象 sel.dispatchEvent(myEvent); // 在test对象上触发 这个模拟出来的事件
} - jquery方法:trigger方法,触发select的change事件
// JS给select赋值 $("#selectChange").val("3"); // 触发change事件 $("#selectChange").trigger("change");