我正在尝试制作一个程序,该程序可以查看在上一次单击后的2秒钟内是否单击了单击。
我的代码相同是:

document.addEventListener("click",do,false);
var lastBack=0;
function do(e){
   if((new Date().getTime()-lastBack)<2000)
         { alert("you clicked within 2 seconds this time");}
   else
         { document.write("Quickly click again");
          lastBack=new Date().getTime(); }
}


我只是无法弄清楚它出了什么问题,但是当我单击时,它只会显示``再次快速单击''并且什么也没有发生。即使在长时间等待后单击它也不会重复同一行。

最佳答案

加载后切勿document.write。该页面将被擦除
Why is document.write considered a "bad practice"?
What damage is done by document.write()?
do是保留字。重命名功能或使其匿名




var lastBack = 0;

function doIt(e) {
  if ((new Date().getTime() - lastBack) < 2000) {
    alert("you clicked within 2 seconds this time");
  } else {
    document.getElementById("message").innerHTML = "Quickly click again";
    lastBack = new Date().getTime();
  }
}


window.addEventListener("load", function() { // when page has loaded
  document.addEventListener("click", doIt, false); // assign click handler
},false)  

<span id="message"></span>

关于javascript - 用于在第一次点击后2秒钟内响应第二次点击的程序,我们在Stack Overflow上找到一个类似的问题:https://stackoverflow.com/questions/51545635/

10-11 12:34