0

编辑 1
这是关于触摸事件。目的是通过一键操作(在移动设备上)-> 扩展,第二次触摸缩回。触摸另一个项目-> 它扩展和先前的缩回。

问题来了:iPad 4.3.3 运行良好。iPhone 5.1 & 6.0 和 Android 4 - 第二次触摸缩回和延伸。不是想要的效果。在此处查看示例感谢您的关注。

这是 jQuery 或移动操作系统中的错误吗?

$(document).ready(function () {   
    if((navigator.userAgent.match(/iPhone|iPod|iPad|Android/i))) {
        $('#nav li').click(function(){
            // attach a click event listener to provoke iPhone/iPod/iPad's hover event
            // Amended the next 3 lines 
            var $this_li = $(this);  
            $('#nav li ul').slideUp(function() {
                $('ul', $this_li).slideDown();
            });
        });
    } else {
        $('#nav li').hover(
            function () {
                //show its submenu
                $('ul', this).slideDown(200);
            }, 
            function () {
                //hide its submenu
                $('ul', this).slideUp(200);         
            }
        ); 
    }  
});
4

2 回答 2

0

尝试:

var test = 0;
$('#nav li').click(function(){
    if(test == 0) {
        $('ul', this).slideDown();
        test = 1;
    } else {
        $('ul', this).slideUp();
        test = 0;
    }
});

这是您所说的可以测试的开/关开关

于 2012-08-07T03:11:04.230 回答
0

首先收回所有的li,然后在slideup的回调中向下滑动点击的li。这样,在当前 li 被收回后,点击的 li 会向下滑动。

$('#nav li').click(function(){  
    var $this_li = $(this);  
    $('#nav li ul').slideUp(function() {
        $('ul', $this_li).slideDown();
    });
});
} else {

ETC

于 2012-08-07T03:06:37.777 回答