js 雙擊事件,三擊事件,多擊事件的原理及其方法
阿新 • • 發佈:2018-12-09
<!DOCTYPE html> <html lang="en"> <head> <meta charset="UTF-8"> <title>Title</title> </head> <body> <button id="btn">按鈕</button> </body> <script> var btn = document.getElementById('btn'); function nclickEvent(n,dom,fn) { dom.removeEventListener('dblclick',null); var n = parseInt(n) < 1 ? 1:parseInt(n), count = 0, lastTime = 0;//用於記錄上次結束的時間 var handler = function (event) { var currentTime = new Date().getTime();//獲取本次點選的時間 count = (currentTime-lastTime) < 300 ? count +1 : 0;//如果本次點選的時間和上次結束時間相比大於300毫秒就把count置0 lastTime = new Date().getTime(); if(count>=n-1){ fn(event,n); count = 0; } }; dom.addEventListener('click',handler); } nclickEvent(3,btn,function (event,n) { console.log(n+'click'); //這裡面放置要處理的事件 }) ); </script> </html>