0

对不起,我没有例子。

但是,我正在创建一个滚动框(左右滚动),我将 mouseDown 函数绑定到 2 个图像(这些用于滚动框)。函数是“scrollLeft()”和“scrollRight()”。

这些功能按计划工作(左右移动框)。但是我对 mouseUp 事件有疑问。当我将鼠标悬停在图像上并 mouseup 时,滚动事件被取消,这意味着滚动停止。

但是,如果我将鼠标从图像上移开并且 mouseup 滚动条继续执行它的功能。

我正在使用 jquery 并尝试了各种方法,包括

$("*").mouseup(function(){
    console.log("ouseup");
    clearInterval(interval);
});

这也不起作用。我想在触发 mouseup 时终止“间隔”间隔。

有什么建议么?

4

2 回答 2

0

听起来您可能最好使用该mouseout()事件。也将其绑定到您的图像,以便在鼠标离开它们时触发。

编辑:好的,您要确保每当您的鼠标离开这些图像时,您的 mouseup 事件就会触发。所以你想利用triggerHandler()函数。

$('#myImage').mouseout(function(){
  $('#myImage').triggerHandler('mouseup');
});

或者(正如已经建议的那样),将 mouseup 事件绑定到整个主体也可以是一种选择:

$('body').mouseup(function(){
  ClearInterval();
});

当您在松开按钮之前将鼠标从图像上移开时未触发 mouseup 事件的原因是您的鼠标按钮正在触发另一个元素的“向上”事件。请记住,无论您的鼠标当时恰好位于哪个元素上,都会触发 mouseup 事件。因此,当然,如果您在某个位置按下鼠标按钮,然后将其从期望 mouseup 事件的区域移开,该区域将永远不会知道您再次抬起鼠标按钮。

于 2009-09-23T08:44:41.060 回答
0

您可以将处理程序附加到文档 mouseup 事件,即

$(document.body).mouseup(function() {
    console.log("ouseup");
    clearInterval(interval);
});

这样,如果您单击鼠标按钮离开该区域,它将继续滚动,直到您释放它。

于 2009-09-23T08:51:30.843 回答