我正在使用 mousedown 和 mouseup 来触发 setInterval 函数,如下所示:
$("#rotateRight").mousedown(function() {
intervalIRight = setInterval(rotateRight, 0);
}).mouseup(function() {
clearInterval(intervalIRight);
});
这很好用,但是,如果我在没有悬停时释放鼠标(mouseup),$("#rotateRight")
那么技术上没有“mouseup”,所以间隔永远持续并且永远不会被清除。
我不能使用悬停,因为我希望在用户单击并按住鼠标时出现。但同时,我需要修复这个“鼠标错误”。有任何想法吗?
更新:新代码如下,但仍然没有清除间隔,因为 mouseup 发生在 iframe 上,而不是 DOM 上。
var intervalIRight;
var intervalILeft;
$("#rotateRight").on('mousedown', function() {
intervalIRight = setInterval(rotateRight, 0);
});
$("#rotateLeft").on('mousedown', function() {
intervalILeft = setInterval(rotateLeft, 0);
});
$(document).on('mouseup', function() {
clearInterval(intervalIRight);
clearInterval(intervalILeft);
});