Jquery 使用Mousedown和setTimeout函数反复触发函数
我想在mousedown事件使用setTimeout时重复使用call函数,它根本不起作用。有人知道吗Jquery 使用Mousedown和setTimeout函数反复触发函数,jquery,settimeout,mousedown,Jquery,Settimeout,Mousedown,我想在mousedown事件使用setTimeout时重复使用call函数,它根本不起作用。有人知道吗 $("#image_360").mousedown( function() { mouseStillDown=true; $(this).data('timeout', window.setTimeout(function () { getDirection; }, 2000)); }, func
$("#image_360").mousedown( function() {
mouseStillDown=true;
$(this).data('timeout', window.setTimeout(function () {
getDirection;
}, 2000));
},
function()
{
clearTimeout($(this).data('timeout'));
alert('mouse left');
});
function getDirection(e){
var x = e.pageX;
//do stuff with condition e.pageX
}
您需要使用
setInterval()
和clearInterval()
方法来重复调用和清除计时器,而不是setTimeout
和clearTimeout
及
像这样更新代码
$("#image_360").mousedown( function() {
mouseStillDown=true;
$(this).data('timeout', window.setInterval(function () {
getDirection;
}, 2000));
},
function()
{
clearInterval($(this).data('timeout'));
alert('mouse left');
});
然后每隔2秒调用一次
getDirection
。您需要使用setInterval()
和clearInterval()
方法来重复调用和清除计时器,而不是setTimeout
和clearTimeout
及
像这样更新代码
$("#image_360").mousedown( function() {
mouseStillDown=true;
$(this).data('timeout', window.setInterval(function () {
getDirection;
}, 2000));
},
function()
{
clearInterval($(this).data('timeout'));
alert('mouse left');
});
然后每隔2秒调用一次getDirection