单击onclick后如何添加延迟

时间:2018-02-02 18:30:32

标签: javascript jquery html

所以我想在点击停止垃圾邮件或宏用法后添加点击延迟功能。我通常使用这样的代码,

<div onclick="return confirm('question?')>example </div>

但是我想在点击按钮后延迟主要功能。您还可以建议您是否有任何其他建议来阻止垃圾邮件。

2 个答案:

答案 0 :(得分:2)

如果使用setTimeout,则无法返回confirm调用的值,因为它已完成异步。您需要使用承诺或回调才能使用该值...

var time;

function do_confirm(question) {
  return new Promise(done => {
    if (time) clearTimeout(time);
    time = setTimeout(function() {
      done(confirm(question));
    }, 1000);
  })
}
<div onclick="do_confirm('yes or no?').then(resp=>alert('you said '+(resp?'yes':'no')));">click me a bunch </div>

答案 1 :(得分:1)

应该可以使用ULONG

延迟

来源:https://www.w3schools.com/jsref/met_win_settimeout.asp

但是,正如其他人所指出的那样,这对阻止垃圾信息无效。