我正试图想出一种附加事件监听器的方法。
我有以下变量:
var inputs = data.context.find(':input').not(':button');
然后,在代码中,我有一个FOR循环,我用它在一些字段中添加一个css类:
inputs[i].className += " invalidEntry";
工作正常。
我想要做的是将事件处理程序附加到那些相同的字段,以便在更改字段中的值时删除css类名。
那么,如何在FOR循环期间将事件监听器附加到输入[i]?
答案 0 :(得分:1)
像这样添加:
function change(){
// this refers to the element that had the keypress event fired on it.
this.className=this.className.replace(" invalidEntry","");
}
for(var i=0;i<inputs.length;i++){
inputs[i].className += " invalidEntry";
inputs[i].addEventListener('keypress',change);
}
change
函数只需要定义一次,并且一次又一次地使用,因为this
关键字将引用元素keypress
ed,因此它始终是input
s。