Warning: file_get_contents(/data/phpspider/zhask/data//catemap/3/reactjs/23.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
Javascript 如何添加要单击的临时函数_Javascript_Loops_Settimeout - Fatal编程技术网

Javascript 如何添加要单击的临时函数

Javascript 如何添加要单击的临时函数,javascript,loops,settimeout,Javascript,Loops,Settimeout,我试图在单击页面中的按钮时在单击之间添加一个暂停 它给了我“未捕获的TypeError:无法读取未定义的属性'click'” var inputs=document.getElementsByClassName('xxxxxx'); 对于(var i=0;i这是一个称为“关闭循环变量”的问题。实际发生的情况是,当超时触发时,i等于输入。长度,超出了输入集的末尾 最简单的解决方案:使用Array#forEach,这样您就有了一个包含每个输入本身的单独闭包和一个独立的i的非波动副本,而不是一个不断变

我试图在单击页面中的按钮时在单击之间添加一个暂停

它给了我“未捕获的TypeError:无法读取未定义的属性'click'”

var inputs=document.getElementsByClassName('xxxxxx');
对于(var i=0;i这是一个称为“关闭循环变量”的问题。实际发生的情况是,当超时触发时,
i
等于
输入。长度
,超出了输入集的末尾

最简单的解决方案:使用
Array#forEach
,这样您就有了一个包含每个输入本身的单独闭包和一个独立的
i
的非波动副本,而不是一个不断变化的
i
变量:

var inputs = document.getElementsByClassName('xxxxxx'); 

Array.prototype.slice.call(inputs).forEach(function (input, i) {
     setTimeout(function () { 
         input.click(); 
     }, 1000 * i);
});    
这是一个称为“关闭循环变量”的问题。实际发生的情况是,当超时触发时,
i
等于
inputs.length
,它超出了输入集的末尾

最简单的解决方案:使用
Array#forEach
,这样您就有了一个包含每个输入本身的单独闭包和一个独立的
i
的非波动副本,而不是一个不断变化的
i
变量:

var inputs = document.getElementsByClassName('xxxxxx'); 

Array.prototype.slice.call(inputs).forEach(function (input, i) {
     setTimeout(function () { 
         input.click(); 
     }, 1000 * i);
});    

如果为空,请尝试测试输入:

if (inputs[i] != null) {
inputs[i].click();}

并尝试在文档完成时启动计时器。

如果输入为空,则尝试测试输入:

if (inputs[i] != null) {
inputs[i].click();}

并尝试在文档完成时启动计时器。

可能重复的可能重复非常感谢,这解决了它,并给了我一个新的学习方向。非常感谢,这解决了它,并给了我一个新的学习方向。