Вы можете использовать эту функцию, которую я только что написал:
$.fn.hoverDelay = function(handlerIn, handlerOut, delay) {
if(delay === undefined) delay = 400;
var timer;
this.hover(function(eventObject) {
clearTimeout(timer);
handlerIn.apply(this,eventObject);
}, function(eventObject) {
timer = setTimeout(handlerOut.bind(this, eventObject), delay);
});
};
Она работает так же, как и обычная $.hover
, за исключением того, что перед вызовом события отпускания мыши задерживается 400 мс (который отменяется при перемещенииВаша мышь вернулась в этот период).