jquery: so deaktivieren Sie die dblclick Ereignisse?
Prämisse:
Entwicklung eines Grafik-scatterplot (mit flotchart.org) ich habe eine js-Funktion, die dynamisch erstellen, die zeigen, ein Bild (button) zu erkennen, dass eine Benutzeraktion ein KLICK auf die Schaltfläche ("Links schwenken" auf dem Beispiel-code hier unten)
problem:
wenn der Benutzer klicken Sie schnell über den button, eine (unerwünschte) Doppelklick-Ereignis ausgelöst wird.
Wie kann ich deaktivieren, doppelklicken Sie auf, wenn sich der Mauszeiger über der Schaltfläche (so dass nur Klick-Ereignis) ? In anderen Worten: das, Was falsch mit unbind-oder dblclick-Inder-code hier unten ?
function addButtonPanLeft(x, top, offset) {
$('<img id="buttonPanLeft" class="navigationbutton" src="../images/pan-left.png" style="left:' + x + 'px;top:' + top + 'px"' + ' title="Pan Left">').appendTo(placeholder).click(function(e) {
e.preventDefault();
panleft();
});
//disabilito double click sul bottone
$('#buttonPanLeft').unbind('dblclick');
}
function addButtonPanRight(x, top, offset) {
$('<img id="buttonPanRight" class="navigationbutton" src="../images/pan-right.png" style="left:' + x + 'px;top:' + top + 'px"' + ' title="Pan Right">').appendTo(placeholder).click(function(e) {
e.preventDefault();
panright();
});
//disabilito double click sul bottone NON FUNZIONA ??????
$('#buttonPanRight').dblclick(function(e) {
e.preventDefault();
panright();
log({
text: "double click",
type: 'debug'
});
});
}
vielen Dank
giorgio
InformationsquelleAutor Giorgio Robino | 2012-11-14
Du musst angemeldet sein, um einen Kommentar abzugeben.
EDIT: Wie @Buchhalter م hat erwähnt in den Kommentaren,
Bindung
ist jetzt veraltet. Verwenden Sie den ähnlichenoff
statt.unbind
entfernt alle event-Handler, die es nicht verhindern, dass das Ereignis ausgelöst wird. Was Sie tun müssen, ist befestigen einen event-handler, hält das Ereignis der Vermehrung:EDIT: vielleicht habe ich deine Frage missverstanden. In der Veranstaltung, die Sie möchten, um zu verhindern, dass die zweite auf der Doppel-klicken Sie auf von feuern, die
click
handler, können Sie etwas wie das hier tun:Die verhindert, dass ein weiteres click-Ereignis stattfindet, bis 500 Millisekunden vergangen sind.
DEMO
e.preventDefault();
im Beispiel habe ich eingereicht ? DankSie befestigt die handler
click
, nichtdblclick
.Super!!! endlich gelöst mit der
stopPropagation();
! vielen Dank !Wie jQuery 3.0, .unbind() ist veraltet. Es wurde ersetzt durch die .off () - Methode, da jQuery 1.7, so dass Ihre Verwendung wurde bereits abgeraten. . Quelle : https://api.jquery.com/unbind/
Danke, aktualisiert.
InformationsquelleAutor Asad Saeeduddin