dans une application Web basée sur jQuery-Mobile, comment puis-je empêcher le menu du navigateur par défaut de figurer sur "Tap Tenir". Maintenant .. P>
$(".task_row").bind('taphold',function(event, ui){ event.preventDefault(); $("#slide_down_menu").trigger('click'); });
6 Réponses :
Qu'en est-il de l'utilisation de l'événement AOUTUTOUCHSTART CODE>? Je suis sûr que j'ai utilisé cela pour empêcher les interactions iPad par défaut de se produire.
$(".task_row").bind('touchstart', function(event, ui){
event.preventDefault();
$("#slide_down_menu").trigger('click');
});
Tu étais assez proche de ça. Le code correct est:
Le problème est que l'événement "Taphold" que vous lie est un événement personnalisé déclenché par JQuery Mobile, ce n'est donc pas le même événement qui déclenche le comportement par défaut du navigateur. P>
Si le menu par défaut que vous essayez d'éviter est celui qui vous permet de "ouvrir" ou "Copier" l'URL, une solution est de ne pas utiliser une balise code>. Si vous utilisez une étendue ou une DIV, vous pouvez lier une fonction ONTAP qui changera l'emplacement du navigateur et votre événement TAPHOLD ne sera pas interrompu avec le comportement par défaut. P>
Je viens de décoller le lien et j'ai appliqué CSS pour le faire ressembler à un et utilisé ce p>
Mais je l'ai déjà eu lié à un événement de clic indiquant un bouton Supprimer ... Plus de menu contextuel P> $. Mobile.changepage ("#main", {transition: "diapositive"}); code> p>
J'ai découvert que vous devez désactiver le clic avec le bouton droit de la souris.
$(function(){ document.oncontextmenu = function() {return false;}; $(document).mousedown(function(e){ if ( e.button == 2 ) { alert('Right mouse button!'); return false; } return true; }); });
Utilisez CSS:
a { -webkit-touch-callout: none !important; }
Cela a fonctionné pour moi. Mon problème était pareil. Je souhaite éviter l'utilisateur de toucher et de maintenir certains des liens. Qui est atteint par ce CSS.
Fonctionne génial sur iOS y a-t-il un équivalent Android que quelqu'un sait-il?
Êtes-vous sûr que ce n'est pas un menu de clic droit? Quel navigateur? Essayez d'écouter
menu contextuel code> événement et
.preventdefault (); renvoyer false; code> dessus
Si je comprends bien, @augtur suggère la solution comme décrit ici: Stackoverflow.com/Questtions/30775237/... a travaillé dans tous mes cas avec des appareils tactiles