Jquery bug dblclick / click

时间:2013-05-02 22:12:09

标签: javascript jquery html css

我一直在尝试使用jquery并遇到了问题。 http://javascript.nicklewers.co.uk/nav/
在“Android”标签上,我设置了它,这样如果您点击一次,子菜单就会出现,但是当双击时,主要内容会出现。

现在问题是:双击涉及两次单击,这涉及子菜单打开和关闭非常快,这看起来很糟糕。我该如何防止这种情况?

3 个答案:

答案 0 :(得分:3)

试试这个(使用计时器知道单击还是双击):

alreadyclicked=false;
$('#android').bind('click',function(){
    var el=$(this);
    if (alreadyclicked)
    {
        alreadyclicked=false; // reset
        clearTimeout(alreadyclickedTimeout); // prevent this from happening
        // do what needs to happen on double click. 
    }
    else
    {
        alreadyclicked=true;
        alreadyclickedTimeout=setTimeout(function(){
            alreadyclicked=false; // reset when it happens
            // do what needs to happen on single click. 
            // use el instead of $(this) because $(this) is 
            // no longer the element
        },300); // <-- dblclick tolerance here
    }
    return false;
});

答案 1 :(得分:0)

在显示/隐藏子菜单之前尝试延迟。使用JS,可以使用setTimeout()函数完成。

答案 2 :(得分:0)

$('#android').dblclick(function(){
    $('.content, #subnav').toggle();
});

为什么要切换内容和子菜单?删除它不会解决问题,但我认为它不应该存在。