js per supportare anche i gesti tattili. Sto insabbiando la mia testa per prevenire le azioni di default. quando imposto lo event.preventDefault
o event.gesture.preventDefault()
o applico il parametro {prevent_defaults: true }
sul martello, si attiva solo l'azione predefinita sull'ancora. Come posso evitare ciò e/o cosa sto sbagliando ?!hammer.js e preventDefault();
snippet di codice;
function initializeNavigation() {
$("nav").hammer({prevent_defaults: true }).on("tap", "a", function(event) {
event.preventDefault();
event.gesture.preventDefault();
var target = $(this.hash);
scrollToTarget(target, 1200);
// if there is an open detailItem then close it.
if (detailItemOpen) {
$("div." + detailItemOpen).slideUp();
}
})
if (Modernizr.mq('only screen and (max-width: 767px)')) {
initializeMobileMenuAndSetButton();
}
}
Anche se non è un duplicato, questa risposta può aiutare: http://stackoverflow.com/questions/10714868/how-to-disable-the-default-behavior-of-an-anchor-in-jquery-mobile-ios – CodingIntrigue
Non riesco a ottenere la risposta perché accade anche in Firefox. Ha qualcosa a che fare con Hammer.js e gli eventi. Quando ho usato solo gli eventi click, tutto funzionava correttamente sui dispositivi con un mouse. – myradon
Vero, lunga discussione a riguardo qui. Si tratta di stopPropagation(), ma si applica anche a preventDefault(): https://github.com/EightMedia/hammer.js/issues/237 – CodingIntrigue