Vorrei impedire che un'ancora possa fare clic se viene toccata con un dispositivo touch, ma per funzionare normalmente se si fa clic con il mouse.Come prevenire il default sul touch con hammer.js
Il motivo è che, sul desktop, si passa con il mouse sull'ancora per visualizzare ulteriori informazioni, quindi fare clic per visualizzare il prodotto.
Su un cellulare, voglio il primo tocco per mostrare le informazioni, in secondo luogo per visualizzare il prodotto.
ho provato a non finire variazioni delle seguenti operazioni:
$('article.product aside a.link').hammer().on('tap', function(ev) {
if (ev.gesture.pointerType == 'touch') {
ev.gesture.srcEvent.preventDefault();
return false;
}
});
Qualcuno ha qualche idea su questo? Grazie!
Potresti fare un piccolo jsfiddle? – qwerty
Il 'pointerType' è riconosciuto correttamente quando sei su uno smartphone? – Bigood
Non penso che questo approccio funzionerà, non posso farlo funzionare neanche. Vedi questo: http://jsfiddle.net/FUZwZ/2/ Se lo clicco su Chrome su PC, mi danno due prompt, uno per click e uno per tap. Se tocco lo stesso link sul mio Galaxy Nexus (con Chrome) registra semplicemente il clic. Scommetto che varia tra i browser, quindi non penso che questo funzionerà. – qwerty