Wie verhindere ich in einer jquery-basierten Web-App, dass das Standard-Browser-Menü bei "tap hold" angezeigt wird. Stattdessen möchte ich eine benutzerdefinierte Dialogseite anzeigen.
unten ist mein Code ab sofort ..
%Vor%Das Problem ist, dass das Ereignis 'taphold', an das Sie binden, ein benutzerdefiniertes Ereignis ist, das von jQuery Mobile ausgelöst wird. Daher ist es nicht dasselbe Ereignis, das das Standardverhalten des Browsers auslöst.
Wenn das Standardmenü, das Sie vermeiden möchten, das ist, mit dem Sie die URL "öffnen" oder "kopieren" können, ist eine Lösung, kein <a>
-Tag zu verwenden. Wenn Sie einen Bereich oder ein Div verwenden, können Sie eine Ontap-Funktion daran binden, die den Standort des Browsers ändert, und Ihr Stichprobenereignis wird nicht mit dem Standardverhalten unterbrochen.
Was ist mit dem ontouchstart
Event? Ich bin mir ziemlich sicher, dass ich dies verwendet habe, um zu verhindern, dass die standardmäßigen iPad-Interaktionen auftreten.
Ich habe gerade den Link entfernt und css angewendet, um es so aussehen zu lassen und benutzte das
$.mobile.changePage( "#main", { transition: "slideup"} );
aber ich hatte es bereits an ein Klickereignis gebunden, das eine Löschschaltfläche zeigt ... kein Popup-Menü mehr
Tags und Links jquery jquery-mobile preventdefault