移动 safari 上的 touchMove 事件 - 导致整个页面被拖动
Posted
技术标签:
【中文标题】移动 safari 上的 touchMove 事件 - 导致整个页面被拖动【英文标题】:touchMove event on mobile safari - causes the whole page to be dragged 【发布时间】:2012-08-09 16:45:15 【问题描述】:根据苹果文档应用触摸事件时
element.addEventListener("touchstart", touchStart, false);
element.addEventListener("touchmove", touchMove, false);
element.addEventListener("touchend", touchEnd, false);
element.addEventListener("touchcancel", touchCancel, false);
拖动时,整个 html 页面(在 ipad 或 iphone 上)往往会被拖动。我该如何预防?
我尝试添加
event.preventDefault();
到回调,以及
<meta name="viewport" content="width=device-width, initial-scale=1.0, maximum-scale=1.0, user-scalable=no;" />
没有成功。
【问题讨论】:
【参考方案1】:您可以尝试使用从处理程序返回 false 来防止默认操作。
event.preventDefault();
return false;
你也可以尝试使用event.stopPropagation();
我认为其中一个应该可以工作
【讨论】:
以上是关于移动 safari 上的 touchMove 事件 - 导致整个页面被拖动的主要内容,如果未能解决你的问题,请参考以下文章
触摸事件仅在iPad iOS 11.4上的Mobile Safari中滚动时触发“一次”