Guten Morgen Mike!
Sorry, den Eintrag //Superfishmenu in der general.js.php konntest du nicht finden. Ich probiere schon soviele vermeintliche Fixes diesbezüglich, dass ich mir diesen Kommentar eingefügt habe, um die Stelle leichter zu finden.
Du hast Recht, was die Zeile
$('.dropdown.men').hover(function() { $(this).addClass('open');}, function() {$(this).removeClass('open');});
betrifft. Die braucht man aber nicht mehr, das übernimmt bei Bildschirmegrößen ab 979px jetzt der CSS-Eintrag den ich dir geschickt habe. Die Zeile solltest du auskommentieren mit // oder löschen.
Der Fix aus Antwort #92 betrifft nur Bootstrap 3.
Bootstrap sieht eigentlich nicht vor, das die 1. Ebene einen href hat, sondern nur ein data-toggle zum Öffnen der 2. Ebene. Die von mir gebaute Variante wird aber in einigen Foren besprochen. Warum das Problem nicht gelöst scheint ist mir ein Rätsel. Vielleicht haben die alle kein Andriod.
Ich hab da gestern noch viel probiert, und auch noch festgestellt, dass jquery bei der Berechung der Bildschirmgröße die Scrollbar an der Seite nicht mitberechnet, deshalb muss im Javascript noch was geändert werden.
Deine Dateien sollten zum Testen so ausschauen - sollte das nicht funktionieren muss ich wohl die hier
http://www.themesandco.com/snippet/menu-hover-dropdowns-parent-links-mobile-friendly/ aufgezeigte Variante einbauen.
/templates/bootstrap/javascript/general.js.php
//$('.dropdown.men').hover(function() { $(this).addClass('open');}, function() {$(this).removeClass('open');});
function getWindowWidth() {
var div, body, W = window.browserScrollbarWidth;
if (W === undefined) {
body = document.body, div = document.createElement('div');
div.innerHTML = '<div style="width: 50px; height: 50px; position: absolute; left: -100px; top: -100px; overflow: auto;"><div style="width: 1px; height: 100px;"></div></div>';
div = div.firstChild;
body.appendChild(div);
W = window.browserScrollbarWidth = div.offsetWidth - div.clientWidth;
body.removeChild(div);
}
return($( document ).width() +W);
};
var $WindowWidth = getWindowWidth();
if ($WindowWidth < 979){
$('.nav-collapse .dropdown-toggle').attr('data-toggle', 'dropdown');
$('.nav-collapse .nav').on('click', '[data-toggle="dropdown"]' ,function(){
//if this link has 'open' (second click) class or when we are in collapsed menu and have always-show
if($(this).parent().hasClass('open') && this.href && this.href != '#' ){
window.location.href = this.href;
}else{this.addClass('open')}
});}else{
$('.nav-collapse .nav').on('click', '[data-toggle="dropdown"]' ,function(){
if(this.href && this.href != '#' ){
window.location.href = this.href;
}else{this.addClass('open')}
});}
/templates/bootstrap/source/inc/xtc_show_category_superfish.inc.php Zeile 319 ohne den Eintrag data-toggle
'<li'.$ListID.$DropdownClass.'><a '.$linkhref.' class="dropdown-toggle">'.$foo[$cid]['name'].' '.$caret.'</a>'."\n".str_repeat("\t",$level+2).'<ul class="dropdown-menu">'."\n"; /templates/bootstrap/stylesheet.css (setzt hover bei Desktop's)
@media (min-width: 979px) {
ul.nav li.dropdown:hover > ul.dropdown-menu {
display: block;
margin-top:0px;
}
}
Gruß Karl