我一直在尝试使用jquery并遇到了问题。 http://javascript.nicklewers.co.uk/nav/
在“Android”标签上,我设置了它,这样如果您点击一次,子菜单就会出现,但是当双击时,主要内容会出现。
现在问题是:双击涉及两次单击,这涉及子菜单打开和关闭非常快,这看起来很糟糕。我该如何防止这种情况?
答案 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();
});
为什么要切换内容和子菜单?删除它不会解决问题,但我认为它不应该存在。