我有这段代码,我试图在其中包含 JS 函数classList
,querySelector
但由于处理程序的循环等,它最终变得非常冗长:
var cg = document.querySelectorAll('.control-group'),
cgL = cg.length;
while (cgL--) {
var _cg = cg[cgL],
inputs = _cg.querySelectorAll('input'),
i = 0;
for (l = inputs.length; i < l; i++) {
inputs[i].addEventListener('focus', focus, false);
inputs[i].addEventListener('blur', focus, false);
}
function focus() {
_cg.classList.toggle('focus');
}
}
小提琴:http: //jsfiddle.net/YGeh5/3/
有什么方法可以避免必须循环一个 NodeList 来为它的每个元素分配一个事件处理程序?