各位大佬
如何用原生JS实现类似JQuery的多节点绑定同一事件?
举个栗子:<button>1</button>
<button>1</button>
<button>1</button>Jquery:
$('button').onclick(function(){alert(1);})JavaScript:
function cTag(v,num){
if(num==null){
return document.getElementsByTagName(v);
}else{
return document.getElementsByTagName(v)[num];
}
}
上面的方法可获取指定的单个button节点,如何不用循环使所有button绑定同一个onclick事件?想实现类似上面Jquery的封装
如何用原生JS实现类似JQuery的多节点绑定同一事件?
举个栗子:<button>1</button>
<button>1</button>
<button>1</button>Jquery:
$('button').onclick(function(){alert(1);})JavaScript:
function cTag(v,num){
if(num==null){
return document.getElementsByTagName(v);
}else{
return document.getElementsByTagName(v)[num];
}
}
上面的方法可获取指定的单个button节点,如何不用循环使所有button绑定同一个onclick事件?想实现类似上面Jquery的封装
Jquery内部都要用循环,原生JS当然也要用循环。除非是用委托式的绑定事件,事件委托到一个单一的父元素上,就可以不用循环每个元素了。
for(let b in buttons){
buttons[b].onclick=function(){
alert(+b+1);
}
}
有什么必要?
不如直接用jquery