Zapobieganie domyślnemu menu kontekstowemu na longpress / longclick w mobilnym Safari (iPad / iPhone)
W przypadku witryny chcę wyświetlić niestandardowe menu kontekstowe, gdy użytkownik „naciska” ekran. StworzyłemjQuery Longclick słuchacz w moim kodzie, aby wyświetlić niestandardowe menu kontekstowe. Zostanie wyświetlone menu kontekstowe, ale domyślne menu kontekstowe iPada jest również wyświetlane! Próbowałem temu zapobiec, dodającpreventDefault()
na wydarzenie u mojego słuchacza, ale to nie działa:
function showContextMenu(e){
e.preventDefault();
// code to show custom context menu
}
$("#myId").click(500, showContextMenu);
pytania
Czy możesz zapobiec wyświetlaniu domyślnego menu kontekstowego iPada?Czy można to zrobić za pomocą wtyczki jQuery Longclick?Wtyczka Longclick ma pewną specyficzną obsługę iPada (zakładając ten fragment tekstu)to kod źródłowy):
if (!(/iphone|ipad|ipod/i).test(navigator.userAgent)){
$(this)
.bind(_mousedown_, schedule)
.bind([_mousemove_, _mouseup_, _mouseout_, _contextmenu_].join(' '), annul)
.bind(_click_, click)
}
Zakładam więc, że odpowiada to moje drugie pytanie (zakładając, że wtyczka użyła poprawnego zdarzenia).