jQuery点击事件无法在移动Firefox中运行

时间:2014-10-02 20:18:09

标签: javascript jquery firefox mobile samsung-mobile

我有一个导航菜单,可在单击元素时显示和隐藏在移动设备上。除了三星Galaxy 3上的Firefox之外,它可以在任何地方使用。这是HTML:

<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>

附加了点击事件的元素是“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属性。任何人都可以帮我解决这个问题吗?

1 个答案:

答案 0 :(得分:1)

jQuery Mobile需要&#34;委托&#34;方法:

$(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;");
        });
    }    
});