Evitando o menu de contexto padrão em longpress / longclick no Safari móvel (iPad / iPhone)
Para um site, quero mostrar um menu de contexto personalizado quando um usuário "comprimir" a tela. Eu criei umjQuery Longclick ouvinte no meu código para mostrar um menu de contexto personalizado. O menu de contexto é exibido, mas o menu de contexto padrão do iPad também é exibido! Eu tentei evitar isso adicionando umpreventDefault()
para o evento no meu ouvinte, mas isso não funciona:
function showContextMenu(e){
e.preventDefault();
// code to show custom context menu
}
$("#myId").click(500, showContextMenu);
Questões
Você pode impedir que o menu de contexto padrão do iPad seja exibido?Pode ser feito usando o plugin jQuery Longclick?O plugin Longclick tem algum tratamento específico para o iPad (supondo que por este trecho deé o código fonte):
if (!(/iphone|ipad|ipod/i).test(navigator.userAgent)){
$(this)
.bind(_mousedown_, schedule)
.bind([_mousemove_, _mouseup_, _mouseout_, _contextmenu_].join(' '), annul)
.bind(_click_, click)
}
Então eu suponho que isso responda à minha segunda pergunta (assumindo que o plugin usou o evento correto).