jQueryでダブルクリックとクリックの処理を分ける
イベントの順番が click -> dblclick の順なので
clickイベントをsetTimeoutで保留にして、dblclickイベントが起きたらclearTimeout。
var click_timer = new Array(); var click_num = 0; $("#margin").click(function(){ console.log("click"); var timer = setTimeout(scrollBody, 300); click_timer[click_num] = timer click_num++; }); $("#margin").dblclick(function(){ click_timer.forEach (function(timer){ clearTimeout(timer); }); console.log("dblclick") });