很抱歉,我没有例子。
但是我正在创建一个滚动框(向左和向右滚动)我将mouseDown函数绑定到2个图像(这些用于滚动框)。这些函数是“scrollLeft()”和“scrollRight()”。
这些功能按计划工作(向左和向右移动框)。但是我的mouseUp事件有问题。当我将鼠标放在图像和鼠标上时,滚动事件被取消,这意味着滚动停止。
但是,如果我将鼠标移离图像并使用鼠标按钮,则滚动条会继续执行此功能。
我正在使用jquery并尝试过各种各样的事情,包括
$("*").mouseup(function(){
console.log("ouseup");
clearInterval(interval);
});
这也不起作用。我希望在触发mouseup时终止“间隔”间隔。
有什么建议吗?
答案 0 :(得分:0)
听起来您可能最好使用mouseout()
事件。将它绑定到您的图像上,以便在鼠标离开时它会闪光。
编辑: 好的,您希望确保只要您的鼠标离开这些图像,那么您的mouseup事件就会触发。所以你想利用triggerHandler()函数。
$('#myImage').mouseout(function(){
$('#myImage').triggerHandler('mouseup');
});
或者(如已经建议的那样),将mouseup事件绑定到整个正文也可以是一个选项:
$('body').mouseup(function(){
ClearInterval();
});
在放开按钮之前将鼠标从图像移开时,鼠标事件未触发的原因是鼠标按钮正在触发另一个元素的“向上”事件。请记住,鼠标事件是针对当时鼠标碰巧定位的元素触发的。所以当然,如果你在一个地方按下鼠标按钮,然后将它从预期鼠标事件的区域移开,该区域永远不会意识到你再次抬起了鼠标按钮。
答案 1 :(得分:0)
您可以将处理程序附加到文档mouseup事件,即
$(document.body).mouseup(function() {
console.log("ouseup");
clearInterval(interval);
});
这样,如果您通过单击鼠标按钮离开该区域,它将继续滚动,直到您将其释放。