第一次点击后2秒钟内响应第二次点击的程序

时间:2018-07-26 18:44:14

标签: javascript html5

我正在尝试制作一个程序,该程序可以查看是否在上次单击后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(); }
}

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

1 个答案:

答案 0 :(得分:1)

  1. 加载后再也不会document.write。该页面将被擦除
    Why is document.write considered a "bad practice"?
    What damage is done by document.write()?

  2. 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>