Warning: file_get_contents(/data/phpspider/zhask/data//catemap/9/javascript/457.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
Javascript jQuery单击事件在移动Firefox中不起作用_Javascript_Jquery_Firefox_Mobile_Samsung Mobile - Fatal编程技术网

Javascript jQuery单击事件在移动Firefox中不起作用

Javascript jQuery单击事件在移动Firefox中不起作用,javascript,jquery,firefox,mobile,samsung-mobile,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 i

我有一个导航菜单,当点击一个元素时,它会在移动设备上显示和隐藏。除了三星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>

容器具有显示属性:单击导航箭头前无。有人能帮我在移动Firefox上实现这一点吗?

jQuery Mobile需要“委托”方法:

$(文档)。委托(“#导航箭头”,“单击”,函数(){
如果($(“#nav”).是(“:可见”))
{
$(“#nav”).slideUp(800,function()
{
$(“#导航箭头”).html(“▼;”);
}); 
}
其他的
{
$(“#导航”)。向下滑动(800,函数()
{
$(“#导航箭头”).html(“▲;”);
});
}    
});

我真的不确定你想做的是否可行。应该是这样,但我并不完全相信jQuery有必要处理手机上的点击。我想你要做的是使用jquery mobile和它的vclick事件。这在除三星Galaxy上的Firefox之外的所有移动设备和浏览器上都起作用。看看使用.on('click',函数…可以做什么,而不仅仅是。单击这一点我认为是你的问题?使用.on(“点击”也有同样的结果。我最终解决了这个问题,只从jQuery移动下载生成器下载了触摸事件,并将点击功能切换到.on(“点击”,功能…等等)。这就是解决方法。
$("#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;");
            });             
        }
    });