function clickThreeTime (){ var num = 0,timer; document.onclick = function (){ num++ if(num <3){ if(timer){ clearTimeout(timer); } var timer = setTimeout(function (){ num = 0; },500); }else if(num == 3){ num = 0; alert('Click three times!'); clearTimeout(timer); } }; }
num是按下鼠标的次数,timer每隔500毫秒就将num重置为0,num == 3的时候出发时间,所以就是说:
在500毫秒内连续单击3次,事件才会触发。
下面这个是长按鼠标左键才能出发的时间。
function triggerLater (){ var timer; document.onmousedown = function (){ timer = setTimeout(function(){ alert ('Event triggered!') },1000); }; document.onmouseup = function (){ clearTimeout(timer); }; }
同样是利用setTimeout,鼠标按下的时候建立timer,松开鼠标按钮的时候删除timer;
所以说,要按下鼠标(不松开)足够一秒钟,这个事件才会触发。