是的,我知道这个问题以前曾被问过,但我找不到有效的答案。这是其他问题之一的公认答案:
$('#element').hover(function()
{
$(this).data('timeout', window.setTimeout(function()
{
alert('hovered for 2 seconds');
}, 2000));
},
function()
{
clearTimeout($(this).data('timeout'));
alert('mouse left');
});
http://jsfiddle.net/nCcxt/ http://jsfiddle.net/nCcxt/
正如你所看到的,它没有做它应该做的事情。
我需要的在理论上很简单,但我无法让它工作 - 当用户将鼠标悬停在链接上 2 秒时,会调用一个函数。如果用户在 2 秒之前将鼠标移开,则不会发生任何情况。
代码工作得很好 http://jsfiddle.net/ThiefMaster/nCcxt/1/。它仅因以下原因而破裂alert()
导致触发 mouseout 事件的调用。
我们从中学到什么?不使用alert()
结合焦点/悬停/鼠标移动相关事件。
顺便说一句,已经有 jQuery 插件可用于您想做的事情:http://cherne.net/brian/resources/jquery.hoverIntent.html http://cherne.net/brian/resources/jquery.hoverIntent.html
本文内容由网友自发贡献,版权归原作者所有,本站不承担相应法律责任。如您发现有涉嫌抄袭侵权的内容,请联系:hwhale#tublm.com(使用前将#替换为@)