在jQuery的事件綁定中,若是元素同時綁定了單擊事件(click)和雙擊事件(dblclick),那麼執行單擊事件(click)時,不會觸發雙擊事件(dblclick), 執行雙擊事件(dblclick)時卻會觸發兩次單擊事件(click)。html
但有時候咱們但願在執行雙擊事件的時候不去出發單擊事件,那究竟該如何實現呢?jquery
少bb 上代碼 :spa
<!DOCTYPE html> <html lang="en"> <head> <meta charset="UTF-8"> <title>Document</title> </head> <body> <button>按鈕</button> <script src="jquery.js"></script> <script> $(function () { // var time = null; // // $('div').click(function () { // // 取消上次延時未執行的方法 // clearTimeout(time); // //執行延時 // time = setTimeout(function(){ // //do function在此處寫單擊事件要執行的代碼 // },300); // }); // // $('div').dblclick(functin ({ // // 取消上次延時未執行的方法 // clearTimeout(time); // //雙擊事件的執行代碼 // }); // 單雙擊 的時間 間隔 是300ms // 若是解決 單雙擊衝突 var timer = null; $('button').click(function(event) { clearTimeout(timer); // 定時器 300ms 一次性定時器 timer = setTimeout(function(){ console.log('單機了'); }, 300); }); $('button').dblclick(function(event) { clearTimeout(timer); console.log('雙機了'); }); }) </script> </body> </html>