如何在mouseMove事件上调用preventDefault后调用mouseup事件?

时间:2013-07-07 06:40:02

标签: jquery mobile scroll

我正在制作一个移动网站,我需要禁用原生iphone溢出滚动。为此,我在touchmove函数上调用了preventDefault,但问题是我还需要在用户调用mouseup事件后获取鼠标释放的位置。即使在touchmove事件上调用preventDefault后,如何调用mouseup事件?

我的代码现在看起来像:

document.ontouchmove = function(e){
e.preventDefault();
} 

$(document).mousedown(function(e){
clickPosition = e.pageX;
});

$(document).mouseup(function(e){
releasePosition = e.pageX;
var positionDifference = clickPosition - releasePosition;
});

1 个答案:

答案 0 :(得分:0)

像这样:

http://jsfiddle.net/KyleMuir/KGXb6/

使用.trigger()将您的参数传递给您的其他函数(http://api.jquery.com/trigger/

然而,对于捕获开头\ end的示例,您可能希望执行以下操作:http://jsfiddle.net/KyleMuir/KGXb6/3/

在这个例子中,我在事件范围之外创建一个变量,用于点击位置,在mousedown上不断被覆盖,然后在鼠标上引用,比使用触发器更清晰。

如果需要在 mousedown之后完成某些事情,那么你可以使用触发器来调用某个函数。

希望这会有所帮助:)