Javascript Jquery bug dblclick/click
我一直在尝试jquery,但遇到了一个问题Javascript Jquery bug dblclick/click,javascript,jquery,html,css,Javascript,Jquery,Html,Css,我一直在尝试jquery,但遇到了一个问题 在“Android”选项卡上,我将其设置为,如果单击一次,子菜单将显示,但是双击时,主内容将显示 现在的问题是:双击包含两次单击,这涉及子菜单的快速打开和关闭,这看起来很糟糕。我如何防止这种情况 试试这个(使用计时器了解是单击还是双击): alreadyclicked=false; $('#android').bind('click',function(){ var el=$(本); 如果(已单击) { alreadyclicked=false;//重
在“Android”选项卡上,我将其设置为,如果单击一次,子菜单将显示,但是双击时,主内容将显示 现在的问题是:双击包含两次单击,这涉及子菜单的快速打开和关闭,这看起来很糟糕。我如何防止这种情况 试试这个(使用计时器了解是单击还是双击):
alreadyclicked=false;
$('#android').bind('click',function(){
var el=$(本);
如果(已单击)
{
alreadyclicked=false;//重置
clearTimeout(alreadyclickedTimeout);//防止发生这种情况
//双击后执行需要执行的操作。
}
其他的
{
alreadyclicked=真;
alreadyclickedTimeout=设置超时(函数(){
alreadyclicked=false;//发生时重置
//只需单击一下,即可完成需要执行的操作。
//使用el而不是$(this),因为$(this)是
//不再是元素
},300);//在显示/隐藏子菜单之前尝试延迟。使用JS,可以使用setTimeout()
函数完成此操作
$('#android').dblclick(function(){
$('.content, #subnav').toggle();
});
为什么要同时切换内容和子菜单?删除它并不能解决问题,但我认为它不应该在那里。请发布您认为不起作用的代码-双击在web浏览器中完全是非标准行为。您可能应该以不同的方式实现它,而不是依赖于人们不知道如何使用的事件。您可以尝试使用.mouseenter()
加载子菜单并使用。单击顶部菜单上的()
。我知道这是一个不正常的功能,但我对jQuery不熟悉,喜欢探索/试验它的功能!
$('#android').dblclick(function(){
$('.content, #subnav').toggle();
});