2014-10-02 52 views
0

我有一个导航菜单,当点击某个元素时,它会在移动设备上显示和隐藏。它可以在除Samsung Firefox 3以外的其他地方的Firefox上运行。以下是HTML:jQuery单击事件不适用于移动设备Firefox

<nav id="nav" role="navigation"> 
    <ul> 
    <li>Menu Item 1</li> 
    <li>Menu Item 2</li> 
    Etc . . 
    </ul> 
</nav> 
<div id="nav-arrow">&#9660;</div> 

附加了click事件的元素是“nav-arrow”。这里是jQuery:

$("#nav-arrow").click(function() { 
     if ($("#nav").is(":visible")) { 
      $("#nav").slideUp(800, function() { 
       $("#nav-arrow").html("&#9660;"); 
      }); 
     } else { 
      $("#nav").slideDown(800, function() { 
       $("#nav-arrow").html("&#9650;"); 
      });    
     } 
    }); 

容器有一个display:none的属性,直到点击导航箭头。任何人都可以帮助我在移动Firefox上工作吗?

+0

我真的不知道,如果你正在尝试做的是可能的。它应该是,但我并不完全相信jquery有处理点击移动的必要基础。我认为你想要做的就是使用jquery-mobile,它是vclick事件。 – 2014-10-02 20:34:01

+0

除了Samsung Galaxy上的Firefox之外,它适用于所有移动设备和浏览器。 – joakland 2014-10-02 21:15:05

+0

看看使用.on('click',function ...会做什么,而不只是.click – 2014-10-03 01:39:15

回答

1

jQuery Mobile的需要“委托”的方法:

$(document).delegate('#nav-arrow', 'click', function() { 
    if ($("#nav").is(":visible")) 
    { 
     $("#nav").slideUp(800, function() 
     { 
      $("#nav-arrow").html("&#9660;"); 
     }); 
    } 
    else 
    { 
     $("#nav").slideDown(800, function() 
     { 
      $("#nav-arrow").html("&#9650;"); 
     }); 
    }  
}); 
相关问题