我需要在按钮上连续悬停 1000 毫秒时触发一个方法。每当悬停在其他元素上时,timeout
都应该重置。如何使用 javascript/jquery 实现这样的事情?
首选解决方案是不需要使用新插件的解决方案。
我需要在按钮上连续悬停 1000 毫秒时触发一个方法。每当悬停在其他元素上时,timeout
都应该重置。如何使用 javascript/jquery 实现这样的事情?
首选解决方案是不需要使用新插件的解决方案。
尝试
$(function(){
var timer;
$('.item').hover(function(){
timer = setTimeout(function(){
console.log('do it')
}, 1000);
}, function(){
clearTimeout(timer);
});
})
更新:
$(function(){
$('body').on('mouseenter', '.item', function(e){
var timer = setTimeout(function(){
console.log('do it', e.target)
}, 1000);
$(this).data('myTimer', timer);
}).on('mouseleave', '.item', function(e){
clearTimeout($(this).data('myTimer'));
});
})
演示:小提琴