2013-12-10 62 views
0

我已经有一段时间了,因为我张贴在这里,所以我希望这不是坏的形式。但我认为这更容易看一个生动的例子的页面:http://www.wrangelloutfitters.comjQuery点击不在Firefox中工作

下拉菜单工作在IE浏览器,铬和Safari,但不是Firefox。经过Firefox 11.0和Firefox 25.0.1的测试。我最近将它从CSS悬停转换为触摸屏的jQuery事件,并且工作正常。只是没有在Firefox中让我感到困惑。

对于总结,如果有人现场后,人需要这种后人已经改变基本的代码是:

<script> 
    function hideAllDrops(){ 
     document.getElementById('mainA-sub').style.display='none'; 
     document.getElementById('mainB-sub').style.display='none'; 
     document.getElementById('mainC-sub').style.display='none'; 
    }; 

$(function(){ 
    $("html").click(function() { 
     hideAllDrops(); 
    }); 
     $("#mainA").click(function(){ 
     hideAllDrops(); 
     document.getElementById('mainA-sub').style.display='block'; 
     event.stopPropagation(); 
    }); 
}); 
</script> 

<li><a class="menuOpt" id="mainA">Guided Hunts</a> 
    <div class="nav_sub last" id="mainA-sub"> 
    <div class="nav_sub_wrapper"> 
     <ul> 
     <li><a href="/subPage">Option 1</a></li> 
     <li><a href="/subPage01">Option 2</a></li> 
     <li><a href="/subPage03">Option 3</a></li> 
     </ul> 
    </div><div class="sub_nav_end"></div> 
    </div> 
</li> 
+0

只是给一个尝试在你只有标记为

1

您需要使用'getElementById('mainA-sub')

$("html").click(function() { 
     hideAllDrops(); 
    }); 

    function hideAllDrops(){ 
    document.getElementById('mainA-sub').style.display='none'; 
    document.getElementById('mainB-sub').style.display='none'; 
    document.getElementById('mainC-sub').style.display='none'; 
} 
+0

对不起,它是在真正的代码,没有发布。良好的捕获,但不是问题。 –