有没有办法检测连续的mousedown?换句话说,我希望在按下鼠标左键的同时继续运行一个功能.这是我试图做的一个例子.我有一个控制scrollLeft位置的按钮.每次单击都会增加20,但是我希望它在按下鼠标按钮时继续增量并停止onmouseup.
与按下鼠标按钮时滚动条上的箭头的工作方式类似
var wrapperDiv = $("#wrapper-div");
var scrollWidth = 0;
$("#right-button").click(function() {
if(scrollWidth < wrapperDiv[0].scrollWidth) {
scrollWidth = scrollWidth+20;
wrapperDiv.scrollLeft(scrollWidth);
}
});
Run Code Online (Sandbox Code Playgroud)
不要使用click处理程序.使用两个单独的处理程序,一个用于mousedown,一个用于mouseup.
var $wrapper = $('#wrapper');
function startScrolling()
{
// contintually increase scroll position
$wrapper.animate({scrollLeft: '+=20'}, startScrolling);
}
function stopScrolling()
{
// stop increasing scroll position
$wrapper.stop();
}
$('#right-button').mousedown(startScrolling).mouseup(stopScrolling);
Run Code Online (Sandbox Code Playgroud)