$("selector").on("mouseenter", function() { var timerId = setTimeout(yourCallback, 250); $(this).data("timerId", timerId); }).on("mouseleave", function() { var timerId = $(this).data("timerId"); clearTimeout(timerId); });