Javascript 在事件发生之前挂起js脚本

Javascript 在事件发生之前挂起js脚本,javascript,dom-events,Javascript,Dom Events,有没有办法暂停js脚本,直到发生鼠标点击按钮之类的事件??我的意思是脚本应该暂停执行,并在事件发生时再次恢复。我对Javascript有点陌生,即使在网上彻底搜索后也找不到解决方案 JavaScript是单线程的,在事件发生时没有抢占。这是不可能的。JS是单线程的,多线程只能由我们的Web工作者来完成。据我所知 然而,如果您只有一个想要挂起的小脚本,那么您可以有一个全局变量/标志,只需在脚本中(我相信它是一个循环或事件驱动函数)检查该标志。在这种情况下: var flag = false; .

有没有办法暂停js脚本,直到发生鼠标点击按钮之类的事件??我的意思是脚本应该暂停执行,并在事件发生时再次恢复。我对Javascript有点陌生,即使在网上彻底搜索后也找不到解决方案

JavaScript是单线程的,在事件发生时没有抢占。这是不可能的。

JS是单线程的,多线程只能由我们的Web工作者来完成。据我所知

然而,如果您只有一个想要挂起的小脚本,那么您可以有一个全局变量/标志,只需在脚本中(我相信它是一个循环或事件驱动函数)检查该标志。在这种情况下:

var flag = false;

...
if (flag) {
   do your code
} else {
   do nothing or return if in function
}

一旦你想继续,只需设置
flag=true

如果您试图暂停的是一个函数,否则该函数将继续循环,那么我提出了一个很好的解决方案:

看看这条线,。您是否希望通过单击按钮来调用重构函数来启动它?好的。。非常感谢。实际上,我想做的是创建一个自定义警报框,它返回一个基于按钮被点击的值,就像默认的js警报框一样。我有点不愿意使用全局变量来做这件事,但看起来我没有其他直接的选择。无论如何,感谢您提供的解决方案:)NP如果脚本处于循环中,可以使用setTimeout()。使用无限检查使CPU达到99%的使用率,因此您可以考虑在检查功能上使用SETTIMEOUT来查看标志是否已更改:)我找到了一种方法来最终以正确的方式实现这个警告框。我只是在警报框函数中添加了一个回调函数。只要在警报框中单击任何按钮,就会使用所单击按钮的id调用该函数。