如何在鼠标悬停后取消绑定(bind)或禁用鼠标,然后在另一个框淡出时重新启用。
我尝试了解除绑定(bind),但似乎它不起作用,它只是禁用了整个功能。
我什至尝试了暂停,但这对我没有好处。
如有任何帮助,我们将不胜感激。
$("#shopping_basket").mouseover(function() {
// set a timeout so that this event will not trigger twice when mouseover from the bottom
setTimeout(function() {
/*$("#shopping_basket").unbind(mouseover);*/
$("#miniBasketDetails").fadeIn(500);
},500);
});
$("#miniBasketDetails").mouseleave(function() { $("#miniBasketDetails").fadeOut(500); });
最佳答案
只是猜测,尝试这样的事情:
$("#shopping_basket").bind('mouseover', function() {
setTimeout(function() {
$("#shopping_basket").unbind('mouseover');
$("#miniBasketDetails").fadeIn(500);
}, 500);
//Re-enable as needed: $("#shopping_basket").bind('mouseover', function(){});
});
此代码未经测试,但应该可以工作。
我认为您的问题是您将 mouseover
作为变量而不是字符串传递到 .unbind()
中。这就是“整个事情”被禁用的原因,因为 JavaScript 正在寻找名为 mouseover
的变量,该变量未定义,并导致您的代码中断。尝试像这样:.unbind('mouseover')
。
关于javascript - 禁用鼠标悬停事件然后重新启用,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/11832312/