使用 for 循环将变量添加到具有 javascript/canvas 的实例名称
Use a for loop to add a variable to an instance name with javascript/canvas
我可以将 for 循环与 addEventListener 上的实例一起使用吗?例如,我有以下正确使用名为 'highlightbtn_1' 到 'highlightbtn_5' 的按钮:
this.highlightbtn_1.addEventListener("click", onClick.bind(this));
this.highlightbtn_2.addEventListener("click", onClick.bind(this));
this.highlightbtn_3.addEventListener("click", onClick.bind(this));
this.highlightbtn_4.addEventListener("click", onClick.bind(this));
this.highlightbtn_5.addEventListener("click", onClick.bind(this));
是否可以在按钮实例中使用 for 循环来循环遍历它们,而不是为每个按钮添加单独的 EventListener?类似这样:
var i;
for (i = 1; i < 6; i++) {
this.highlightbtn_[+i].addEventListener("click", onClick.bind(this));
//Some onClick function
}
我确实找到了一个 similar topic answered here,但我根本无法提前将它提供给 work.Thank 您以供任何输入!
对象 属性 可以通过两种方式访问:
obj.propertyName
obj['propertyName']
第二种使用表达式的方式。
因此,您可以使用 this['highlightbtn_'+i]
或者将它们重构为一个数组。
或者添加一些 CSS class 并添加公共事件侦听器。
我可以将 for 循环与 addEventListener 上的实例一起使用吗?例如,我有以下正确使用名为 'highlightbtn_1' 到 'highlightbtn_5' 的按钮:
this.highlightbtn_1.addEventListener("click", onClick.bind(this));
this.highlightbtn_2.addEventListener("click", onClick.bind(this));
this.highlightbtn_3.addEventListener("click", onClick.bind(this));
this.highlightbtn_4.addEventListener("click", onClick.bind(this));
this.highlightbtn_5.addEventListener("click", onClick.bind(this));
是否可以在按钮实例中使用 for 循环来循环遍历它们,而不是为每个按钮添加单独的 EventListener?类似这样:
var i;
for (i = 1; i < 6; i++) {
this.highlightbtn_[+i].addEventListener("click", onClick.bind(this));
//Some onClick function
}
我确实找到了一个 similar topic answered here,但我根本无法提前将它提供给 work.Thank 您以供任何输入!
对象 属性 可以通过两种方式访问:
obj.propertyName
obj['propertyName']
第二种使用表达式的方式。
因此,您可以使用 this['highlightbtn_'+i]
或者将它们重构为一个数组。
或者添加一些 CSS class 并添加公共事件侦听器。