Jak wyłączyć domyślne zachowanie kotwicy w jQuery Mobile (iOS)

Buduję aplikację na iPhone'a i iPada za pomocą PhoneGap i jQM

<div class="ui-block-a">
   <a id="btnLink" href="#pageID" data-role="button"></a>
</div>

i działa dobrze, ale kiedy uruchomię go na urządzeniu (nie wypróbowałem symulatora) i nacisnę długie naciśnięcie, otrzymam domyślne menu iPhone'a dla łącza w normalnej przeglądarce, aby otworzyć lub skopiować łącze.

Jak mogę wyłączyć tę domyślną funkcję w mojej aplikacji?

Próbowałem ich bez powodzenia:

$("a").click(function(event) {
  event.preventDefault(); // long press menu still apear
});


$("a").bind('click',function(event) {
console.log(['preventingclick',event.type]);
event.preventDefault(); // long press menu still apear
});

jeśli wiążę „taphold”, nadal widzę menu w długim naciśnięciu, ale po kliknięciu „anuluj” widzę dziennik konsoli: [„zapobieganie długiemu naciśnięciu”, „taphold”]

$("a").bind('taphold', function(event) {
console.log(['preventing long press',event.type]);
event.preventDefault(); // long press menu still apear
});

jeśli używam delegata na zdarzeniu „taphold” w następujący sposób:

$("a").delegate('taphold', function(event) {
console.log(['preventing long press',event.type]);
event.preventDefault();
});

naprawi problem, ale nie mogę już dołączać żadnych wydarzeń, więc żaden z moich przycisków nie będzie działał później.

$('#btnLink').bind("click", function() {
$.mobile.changePage('mypage', 'slide'); // won't fire any more because of the delegate before
});

Wiem, że delegat będzie ubiegał się o wszystkie elementy teraz iw przyszłości, ale myślę, że zbliżam się do odpowiedzi, ale jeszcze nie.

Z góry dziękuję

questionAnswers(5)

yourAnswerToTheQuestion