2014-10-02 83 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;"); 
     }); 
    }  
}); 
相關問題