Browser-Pop-on-Tapphold-Ereignis verhindern

8

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%     
Abhishek Jain 02.05.2011, 15:45
quelle

6 Antworten

10

benutze css:

%Vor%

um den Standarddialog nicht anzuzeigen

    
axel freudiger 03.04.2012 12:23
quelle
1

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.

    
mishka 15.12.2011 01:55
quelle
0

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.

%Vor%     
Simon East 10.07.2011 09:44
quelle
0
Du warst ziemlich nah dran. Der korrekte Code ist:

%Vor%     
RandomPixels 15.08.2011 00:38
quelle
0

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

    
Roger Large 17.01.2012 04:43
quelle
0

Ich habe herausgefunden, dass Sie die rechte Maustaste deaktivieren müssen.

%Vor%     
bafromca 16.03.2012 16:02
quelle