从Magento菜单中删除鼠标悬停

时间:2014-08-20 07:39:51

标签: magento menu hover categories

如何从Magento的类别菜单中删除鼠标悬停?我想在点击时显示类别。 我试过这样的事情:

jQuery('#nav ul li a').removeClass('over');
jQuery('#nav ul li a').removeClass('level-top over');

但似乎没有任何效果。

4 个答案:

答案 0 :(得分:0)

怎么样:

jQuery('#nav ul li a').hover(function(e){
  e.preventDefault();
});

答案 1 :(得分:0)

"显示 - sub" class显示默认Magento菜单上的子菜单。

修改

这是一个肮脏的解决方案,但它的工作原理。见http://sami.seoresearch.com/

我做的是编辑:/js/varien/menu.js

第58行 - 删除mousein / mouseout事件并替换为:

 list.onclick = function(e){
    e.preventDefault();
    main.fireNavEvent(this,true);
 };

第78行 - 将其更改为:

if(!elm.hasClassName("over")){

此外,您可以在此处查看源js文件:http://sami.seoresearch.com/js/varien/menu.js

答案 2 :(得分:0)

这段代码解决了我的问题:

jQuery("#nav li>a.level-top").on('mouseover', function(event){
    event.stopImmediatePropagation();
});

jQuery("#nav li>a.level-top").on('mouseout', function(event){
    event.stopImmediatePropagation();
});

答案 3 :(得分:0)

你可以使用它。

<script type="text/javascript">
    jQuery(document).ready(function(){
        jQuery("#nav li > a.level-top, #nav li ul li, #nav li ul li a").on('mouseover', function(event){
            event.stopImmediatePropagation();
        });

        jQuery("#nav li > a.level-top, #nav li ul li, #nav li ul li a").on('mouseout', function(event){
            event.stopImmediatePropagation();
        });
        jQuery('#nav > li > a').removeAttr('href');
        jQuery('#nav > li > a').click(function(e){
            jQuery(this).parent().toggleClass('over');
            jQuery(this).parent().children('ul').toggleClass('shown-sub');
            e.preventDefault(); 
        });
    });
</script>