我们的图像库需要防止 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;到图像确实会阻止强制触摸事件,但同样,它也会阻止长按时的标注。
任何想法都非常感谢!