有没有办法让jQuery在触发mouseout事件之前等待一定的时间?
它现在启动得太早了,我更喜欢在它评估鼠标之前等待500ms。下面是我使用的代码示例。
$('.under-construction',this).bind({
mousemove: function(e) {
setToolTipPosition(this,e);
css({'cursor' : 'crosshair' });
},
mouseover: function() {
$c('show!');
showUnderConstruction();
},
mouseout: function() {
$c('hide!');
hideUnderConstruction();
},
click: function() {
return false;
}
});有没有jQuery的方法可以做到这一点,或者我必须自己来做呢?
发布于 2010-02-16 00:43:33
将mouseout内部的逻辑拆分为另一个函数。在mouseout中,甚至可以使用setTimeout("myMouseOut", 500)调用此函数。还可以将mouseover事件与clearTimeout()结合使用,以便在用户进入新元素时重置计时器。
发布于 2010-02-16 00:41:19
您总是可以将您的逻辑包装在setTimeout()函数中。
mouseout: function() {
setTimeout(function(){
$c('hide!');
hideUnderConstruction();
}, 500);
}发布于 2010-02-16 00:52:43
您可以查看hoverIntent plugin,它允许您定义一些有助于鼠标输入/输出交互的变量
https://stackoverflow.com/questions/2267402
复制相似问题