Warning: file_get_contents(/data/phpspider/zhask/data//catemap/9/javascript/435.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

Warning: file_get_contents(/data/phpspider/zhask/data//catemap/9/loops/2.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_Events_Click - Fatal编程技术网

Javascript 等待循环中的单击

Javascript 等待循环中的单击,javascript,loops,events,click,Javascript,Loops,Events,Click,甚至在开始之前,我知道已经有一个关于这方面的问题,但不幸的是,这对我没有任何帮助 这就是我的问题,我有一个用JavaScript编写的循环,循环的最后是一个按钮点击事件。该事件与位于弹出窗口内的按钮有关 for(var i=0; i<value; i++){ [...] //some code here [...] //opens the window windowButton.addEventListener('click', function(){ //co

甚至在开始之前,我知道已经有一个关于这方面的问题,但不幸的是,这对我没有任何帮助

这就是我的问题,我有一个用JavaScript编写的循环,循环的最后是一个按钮点击事件。该事件与位于弹出窗口内的按钮有关

for(var i=0; i<value; i++){
  [...]
  //some code here
  [...]
  //opens the window
  windowButton.addEventListener('click', function(){
    //code
  });
  //here I would like for it to continue once the click has been triggered
}

for(var i=0;i在JavaScript中无法暂停函数。您需要完全改变方法

将每次循环时当前运行的代码移动到单独的函数中

在该函数之外创建一个变量

每次调用函数时,递增该变量

如果变量“太大”,则在执行任何操作之前从函数返回


将该函数指定为单击事件处理程序。

在JavaScript中无法暂停函数。您需要完全更改方法

将每次循环时当前运行的代码移动到单独的函数中

在该函数之外创建一个变量

每次调用函数时,递增该变量

如果变量“太大”,则在执行任何操作之前从函数返回


将该函数指定为您的单击事件处理程序。

请参见此处,如果您在循环中添加侦听器,您可能会做错什么。这背后的动机是什么?请参见此处,如果您在循环中添加侦听器,您可能会做错什么。这背后的动机是什么?非常感谢,我会尝试,所以我尝试了,但我不是如果我能很好地理解你所说的递归,我将如何实现你的回答?我已经尝试过了,但在我的例子中是不可能的,因为递归会回调整个堆栈,再次感谢。是的,你需要为此使用递归。我不知道什么是“回调整个堆栈”意思是或者为什么它会阻止你做你在问题中描述的事情。好吧,当使用递归时,如果我没有错的话,每次调用函数时,它都会被添加到堆栈/堆中。当函数完成调用自己时,堆栈中包含的所有函数都会被调用。我已经测试过了,调用一次的函数是then回忆道。如果我错了,请让我知道,再次感谢你错了。通过正常的递归,函数将运行到再次调用自身的点。当该函数返回时,前一个函数将从它停止的点继续运行。在这种情况下,函数并不是真正调用自己,而是在设置事件处理程序这将在事件触发时调用函数。但在任何一种情况下,函数都不会在两个方向上调用。非常感谢,我会尝试这样做,所以我尝试了,但我不确定如何才能实现您的回答,如果我很好地理解您所说的递归?我已经尝试过,但在我的情况下是不可能的,因为递归可以回调整个堆栈,再次感谢。是的,你需要使用递归。我不知道什么是“回调整个堆栈”意思是或者为什么它会阻止你做你在问题中描述的事情。好吧,当使用递归时,如果我没有错的话,每次调用函数时,它都会被添加到堆栈/堆中。当函数完成调用自己时,堆栈中包含的所有函数都会被调用。我已经测试过了,调用一次的函数是then回忆道。如果我错了,请让我知道,再次感谢你错了。通过正常的递归,函数将运行到再次调用自身的点。当该函数返回时,前一个函数将从它停止的点继续运行。在这种情况下,函数并不是真正调用自己,而是在设置事件处理程序这将在事件触发时调用函数。但无论哪种情况,函数都不会在两个方向上调用。