Javascript Don';t在循环错误中生成函数,我可以';不固定
因此,我正在使用JSlint并尝试实现以下代码,但我得到了错误消息“不要在循环中生成函数,我无法修复错误”。你知道如何修改我的代码,使它不会收到错误/警告吗Javascript Don';t在循环错误中生成函数,我可以';不固定,javascript,for-loop,jslint,Javascript,For Loop,Jslint,因此,我正在使用JSlint并尝试实现以下代码,但我得到了错误消息“不要在循环中生成函数,我无法修复错误”。你知道如何修改我的代码,使它不会收到错误/警告吗 var inputs = document.getElementsByTagName('input'); var blurInput = function () { this.blur(); }; for (var i = 0; i < inputs.length; i++) { (function (input) {
var inputs = document.getElementsByTagName('input');
var blurInput = function () {
this.blur();
};
for (var i = 0; i < inputs.length; i++) {
(function (input) {
input.addEventListener('focus', blurInput);
})(inputs[i]);
}
var inputs=document.getElementsByTagName('input');
变量输入=函数(){
这个。blur();
};
对于(变量i=0;i
您希望将函数移到循环之外:
var inputs = document.getElementsByTagName('input');
var blurInput = function () {
this.blur();
};
// (rename this to something useful...)
var doSomething = function (input) {
input.addEventListener('focus', blurInput);
};
for (var i = 0; i < inputs.length; i++) {
doSomething(inputs[i]);
}
var inputs=document.getElementsByTagName('input');
变量输入=函数(){
这个。blur();
};
//(将此重命名为有用的名称…)
var剂量测量=功能(输入){
input.addEventListener(“焦点”,blurInput);
};
对于(变量i=0;i
在您的情况下,您可以省去该关闭:
for (var i = 0; i < inputs.length; i++) {
input[i].addEventListener('focus', blurInput);
}
for(变量i=0;i
如果您要使用JsHint或EsLint,您可以选择禁用该规则,但对于JsLint,除了更改代码的结构之外,别无选择
您可以按照“Frxstrem”所建议的代码更改在外部创建函数并将数据传递给它,该关闭的意义是什么?您不需要保存
输入
供以后使用。这是我需要的。谢谢你,先生!