Sulle ultime versioni di Chrome e Firefox, eseguiti su PC portatili ibridi, con mouse e schermo touch, si verifica una problematica sul componente Mega Menu (nel mio caso installato su Prestashop). Il dispositivo viene rilevato come touch (quindi come se fosse un tablet) ed il menù non viene visualizzato passando sopra le voci di primo livello con il mouse. Tale comportamento non si verifica aprendo il sito dallo stesso PC con Internet Explorer o con Microsoft Edge. Per testare il problema su Chrome è possibile disattivare la presenza del touch con la seguente procedura:

  1. Su Google Chrome
  2. Digita chrome://flags/ nella barra degli indirizzi.
  3. Disabilita la voce Enable touch events.

Per applicare una patch, è sufficiente attivare l’apertura del menù esplicitamente aggiungendo in coda al documento questa funzione, che permette, in caso di dispositivo ibrido, di visualizzare il sottomenù al passaggio del mouse

jQuery(document).ready(function(){

function is_touch_device() {
return ‘ontouchstart’ in window // works on most browsers
|| navigator.maxTouchPoints; // works on IE10/11 and Surface
};
if (is_touch_device())
{
$(‘#fieldmegamenu-main .root’).hover(function(e){
$(this).children(‘ul’).toggle();
e.stopPropagation();
});
}

});

Leave a Reply

Il tuo indirizzo email non sarà pubblicato. I campi obbligatori sono contrassegnati *

You may use these HTML tags and attributes:

<a href="" title=""> <abbr title=""> <acronym title=""> <b> <blockquote cite=""> <cite> <code> <del datetime=""> <em> <i> <q cite=""> <s> <strike> <strong>