Verhindern, dass der browser pop auf taphold Veranstaltung
In einer jquery-mobile-basierte web-app, wie kann ich verhindern, dass die Standard-browser-Menü anzeigen auf ", Tippen auf "halten" .. vielmehr will ich zeigen einem benutzerdefinierten Dialogfeld Seite ..
unten erwähnt ist mein code jetzt ..
$(".task_row").bind('taphold',function(event, ui){
event.preventDefault();
$("#slide_down_menu").trigger('click');
});
- sind Sie sicher, dass es nicht ein Rechtsklick Menü? welchen browser verwenden Sie? hören Sie sich
contextmenu
Ereignis und.preventDefault();return false;
auf es - wenn ich das richtig verstehe, @naugtur schlägt vor, die Lösung wie hier beschrieben: stackoverflow.com/questions/30775237/... Arbeitete in allen meinen Fällen mit touch-Geräten
Du musst angemeldet sein, um einen Kommentar abzugeben.
css:
nicht zeigen Sie den standard-dialog
Das Problem ist, dass die 'taphold' Fall, dass Sie verbindlich sind, um ein benutzerdefiniertes Ereignis ausgelöst wird, die von jQuery Mobile, es ist also nicht das gleiche Ereignis, löst der browser-Standard-Verhalten.
Wenn das Standard-Menü, die Sie versuchen zu vermeiden ist das eine, können Sie auf "Öffnen" oder "Kopieren" die url, dann eine Lösung ist nicht zu verwenden, eine
<a>
tag. Wenn Sie einen span oder ein div, können Sie das binden eines ontap Funktion es wird ändern Sie die browser-Lage, und Ihre taphold Veranstaltung nicht unterbrochen werden mit dem default-Verhalten.Fand ich heraus, Sie haben zu deaktivieren, der rechten Maustaste.
Was über die Verwendung der
ontouchstart
Veranstaltung? Ich bin mir ziemlich sicher, ich habe diese verwendet werden, um zu verhindern, dass die Standard-iPad-Wechselwirkungen auftreten.Waren Sie ziemlich nah mit ihm. Der richtige code lautet:
Habe ich aus dem link angewendet und css, um es Aussehen wie ein und verwendet diese
$.mobile.changePage( "#main", { transition: "slideup"} );
aber ich hatte bereits gebunden sein, um ein click-Ereignis, das zeigt eine Schaltfläche zum löschen... no more popup-Menü