Warning: file_get_contents(/data/phpspider/zhask/data//catemap/4/jquery-ui/2.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
jQuery UI选项卡在鼠标上方更改选项卡之前强制延迟_Jquery_Jquery Ui - Fatal编程技术网

jQuery UI选项卡在鼠标上方更改选项卡之前强制延迟

jQuery UI选项卡在鼠标上方更改选项卡之前强制延迟,jquery,jquery-ui,Jquery,Jquery Ui,使用jQueryUITabs 1.7.2和jQuery1.4.2,是否有一种方法可以使鼠标移到选项卡上时,在切换选项卡之前有一个延迟 我一直在研究如何使用这个插件来实现这一点,但不知道它如何适合 现在,我的代码如下所示: var tabs = $('.tabs').tabs({ event: 'mouseover' }); 我曾尝试在展会活动上玩回叫游戏,但我认为我做得不对,或者不清楚回叫何时发生: $( ".tabs" ).tabs({ show: function(event, ui)

使用jQueryUITabs 1.7.2和jQuery1.4.2,是否有一种方法可以使鼠标移到选项卡上时,在切换选项卡之前有一个延迟

我一直在研究如何使用这个插件来实现这一点,但不知道它如何适合

现在,我的代码如下所示:

var tabs = $('.tabs').tabs({
 event: 'mouseover'
});
我曾尝试在展会活动上玩回叫游戏,但我认为我做得不对,或者不清楚回叫何时发生:

$( ".tabs" ).tabs({
 show: function(event, ui) 
 { 
  setTimeout("FUNCTION_TO_CHANGE_TAB?", 200);
 }
});

非常感谢您的帮助。

您可以创建自己的事件,覆盖鼠标盖并触发新事件


我发现了一个博客

,因为您使用的是1.4.2,所以您可以使用自定义事件并执行以下操作:

$("#tabs").tabs({
  event: 'mousedelay'
}).delegate('ul.ui-tabs-nav li a', 'mouseover', function() {
  clearTimeout($(this).closest('.ui-tabs').data('timeout'));
  $(this).closest('.ui-tabs').data('timeout', setTimeout($.proxy(function() {
    $(this).trigger('mousedelay');
  }, this), 500));
});​​​​​​​​​​​​​​​

这是通过将设置为侦听自定义事件,
mousedelay
。然后在中,我们正在监听锚上的
mouseover
事件,如果有超时,则清除超时(我们快速悬停在两个选项卡上),然后设置另一个。当超时结束时,我们所做的就是触发该锚(选项卡)上的
mousedelay
事件


这篇文章只是一个简短的方法,它引用了我们鼠标移动过的锚,而不是执行时的
窗口(因为它在全局上下文中运行)。

Wow:10.5年过去了,这是我的解决方案!:-)