【发布时间】:2013-04-03 15:13:55
【问题描述】:
我正在创建一个简单的网络应用程序,它使用新版本的hammerJS 进行捏缩放。当捏开始时,我遇到了默认的 iOS 页面拖动问题。这个接缝覆盖了我试图捕捉的捏事件。非常感谢在使用hammerJS 时阻止这种情况的任何帮助。
PS:我尝试使用 event.preventDefault() 无济于事。
【问题讨论】:
标签: javascript jquery ios hammer.js
我正在创建一个简单的网络应用程序,它使用新版本的hammerJS 进行捏缩放。当捏开始时,我遇到了默认的 iOS 页面拖动问题。这个接缝覆盖了我试图捕捉的捏事件。非常感谢在使用hammerJS 时阻止这种情况的任何帮助。
PS:我尝试使用 event.preventDefault() 无济于事。
【问题讨论】:
标签: javascript jquery ios hammer.js
您需要拨打preventDefault 与您习惯的方式略有不同。像这样:
$('#your_element').on('pinch', function(event) {
event.gesture.preventDefault();
});
另一个例子见this hammer.js example。
【讨论】:
把它放在你的标题中:
<meta name="viewport" content="width=device-width,user-scalable=no">
如果允许用户缩放页面,基本上是用户可缩放的属性控制。因此,一旦禁用它,您就可以使用hammerJs 控制缩放。
更多信息在这里https://developer.mozilla.org/en-US/docs/Mobile/Viewport_meta_tag#Viewport_basics
【讨论】:
您在什么情况下调用 preventDefault?我通常将@Bertrand 的答案与类似的东西结合起来
$(body).on('touchmove', function(e){
e.preventDefault();
});
【讨论】: