javascript - 如何防止在 iPad 或 iPhone 上单击并拖动 safari 的视口(viewport)?

标签 javascript jquery iphone ipad safari

我有一个更大的问题,那就是滑动没有被注册。我相信这是因为 SDK 假定您想要单击并拖动整个 Safari 视口(viewport),而不是其中可能存在的任何 div。

如何防止这种默认情况?

screen

最佳答案

我相信你想听 touchmove事件并调用 event.preventDefault() 在任何您不想影响视口(viewport)移动的元素上。

jquery 示例:

$('.interestingElements').on('touchmove', function(event) {
  event.preventDefault();
});

在移动版 Safari 中,涉及单次触摸的 touchmove 的默认行为是左右滑动视口(viewport)。

如果涉及两次触摸,默认行为是触发一个gesture 事件。阻止 touchmove 上的默认设置会阻止手势事件的触发。您可以使用 changedTouches 数组找出此 touchmove 事件中涉及的触摸次数。祝你好运!

关于javascript - 如何防止在 iPad 或 iPhone 上单击并拖动 safari 的视口(viewport)?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/13296650/

相关文章:

iphone - MPMusicPlayerController 速度调节

javascript - 尝试在 OL map 上覆盖 geotiff 文件及其显示错误

javascript - 在 JSF panelgrid 上使用 jQuery onmousedown 和 onmouseup

javascript - 如何修复失败的 NextJS 导出 - 在本地工作正常,但导出时失败,令人沮丧 :(

javascript - 添加元素后如何刷新div的大小

iphone - 设置 UITextField 最大长度

javascript - 无法通过 auth.onAuthStateChanged 中的 currentUser 访问 displayName - Firebase

javascript - 为什么这个函数在运行时会出错,但复制到控制台时不会出错?

javascript - jquery,将Json放入html

iphone - 单击按钮时使用不同参数调用 api,并将其传递到 iPhone 中行索引路径的单元格