[英]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.