Powiązanie różnych zdarzeń do kliknięcia i dwukrotnego kliknięcia - CSS-Tricks

Anonim

Możesz chcieć, aby łącze miało specjalną akcję po dwukrotnym kliknięciu, co zapobiega domyślnemu działaniu łącza (przejdź do innej strony). Więc:

Podwójne kliknięcie: robi coś specjalnego, w ogóle nie powoduje normalnego kliknięcia.
Click: działa normalnie

Będziesz musiał mieć bardzo niewielkie opóźnienie w odpaleniu normalnej akcji kliknięcia, którą anulujesz, gdy nastąpi zdarzenie dwukrotnego kliknięcia.

function doClickAction() ( $("#click h2").append("•"); ) function doDoubleClickAction() ( $("#double-click h2").append("•"); ) var timer = 0; var delay = 200; var prevent = false; $("#target") .on("click", function() ( timer = setTimeout(function() ( if (!prevent) ( doClickAction(); ) prevent = false; ), delay); )) .on("dblclick", function() ( clearTimeout(timer); prevent = true; doDoubleClickAction(); ));
Sprawdź ten długopis!