Wenn der Benutzer double auf eine HTML-Schaltfläche klickt, wird der single Klick-Ereignis-Listener vor dem Doppelklick-Ereignis-Listener aufgerufen.Wie vermeidet man (einzelne) Mausklick-Verarbeitung bei Doppelklick im Browser JavaScript?
Gibt es eine Möglichkeit, die Einzelklickverarbeitung mit Doppelklick zu überspringen (ohne durch die Ringe zu springen)?
Denken Sie daran, dass Ich möchte in der Lage sein, auf den einzelnen Klick zu reagieren, wenn der Benutzer nicht doppelt klickt!
Werfen Sie einen Blick auf die selbsterklärenden sample at jsfiddle.net.
myEventButton.addEventListener(
'click',
function(/*e*/)
{
myClickDiv.innerHTML = 'Clicked.'; // Gets here first on double click.
});
myEventButton.addEventListener(
'dblclick',
function(/*e*/)
{
myDblClickDiv.innerHTML = 'Double clicked.'; // Gets here last on double click.
});
Von dem, was ich lese, ist ein Weg, dies zu lösen, ein * geringes * Verzögerungsereignis in dem einzigen Klick hinzuzufügen, und ein Flag 'dblclick = false' zu haben. Wenn das doubleclick-Ereignis ausgelöst wird, setze 'dblclick = true' und verhindere, dass der Code im Einzelklick-Event ausgeführt wird. –