1

我正在制作一个移动网站,我需要禁用原生 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;
});
4

1 回答 1

0

像这样:

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

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

但是,对于捕获开头\结尾的示例,您可能想要执行以下操作:http: //jsfiddle.net/KyleMuir/KGXb6/3/

在此示例中,我在事件范围之外为单击位置创建了一个变量,该变量在 mousedown 时不断被覆盖,然后在 mouse up 时引用,比使用触发器更清晰。

如果在 mousedown 之后需要执行某些操作,那么您可以使用 trigger 来调用某个函数。

希望这可以帮助 :)

于 2013-07-07T07:08:54.140 回答