相关疑难解决方法(0)

防止图像上的强制触摸事件,但仍允许 iOS Safari 中的长按事件

我们的图像库需要防止 Apple 对图像的强制触摸事件,但仍然允许长按触发“保存图像”标注。我们为 iOS 用户提供了长按图像然后选择“保存图像”的说明,但如果用户不小心按得太用力并触发强制触摸事件,尤其是当它“弹出”并加载图像时,用户会感到非常困惑在新页面中。

最初我想到的是监听事件touchforcechange,然后preventDefault当力量达到一定程度时打电话。像这样的东西:

imgEl.addEventListener( 'touchforcechange', 'onTouchForceChange', false )

function onTouchForceChange( e ){
    if( e.changedTouches[0].force > 0.5  ){
        e.preventDefault()
    }
}
Run Code Online (Sandbox Code Playgroud)

然而,这似乎也阻碍了长新闻活动。似乎也没有一个特定的力度级别可以将事件切换为力度触摸。

将 css 属性添加-webkit-touch-callout: none;到图像确实会阻止强制触摸事件,但同样,它也会阻止长按时的标注。

任何想法都非常感谢!

javascript safari webkit dom-events ios

7
推荐指数
1
解决办法
5870
查看次数

标签 统计

dom-events ×1

ios ×1

javascript ×1

safari ×1

webkit ×1