jQuery点击不在Firefox中工作

时间:2013-12-10 05:31:58

标签: jquery html css firefox

自从我在这里发布以来已经有一段时间了,所以我希望这不是坏形式。但我认为更容易看到页面上的实例:http://www.wrangelloutfitters.com

下拉菜单适用于IE,Chrome和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>

2 个答案:

答案 0 :(得分:2)

Firefox控制台:[00:40:05,423] ReferenceError:事件未定义@ http://www.wrangelloutfitters.com/:64

您的下拉链接会引发错误。请在firebug中参考您的控制台。 你没有将事件作为参数传递,你仍在使用event.stopPropagation(); 相反,你应该使用如下

$( "#about-wrangelloutfitters" ).click(function(event) {
hideAllDrops ();
document.getElementById('about-wrangelloutfitters-sub').style.display='block';
event.stopPropagation();
}); 

答案 1 :(得分: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';
 }