[英]Attaching an event listener to an object inside a FOR loop
我试图找出一种附加事件监听器的方法。
我有以下变量:
var inputs = data.context.find(':input').not(':button');
并且,在代码的后面,我有一个FOR循环,在该循环中,我使用此循环将CSS类添加到某些字段:
inputs[i].className += " invalidEntry";
很好
我想做的是也将事件处理程序附加到这些相同的字段,以便当更改字段中的值时,将删除css类名。
那么,如何在FOR循环中将事件侦听器附加到input [i]?
像这样添加:
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
的元素,因此它将始终是input
s之一。
声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.