我正在尝试彻底消除移动浏览器中长按元素时发生的振动。
具体来说,我有一个图像,我正在添加我自己的长按功能,但默认发生的微妙的短振动是干扰,我需要禁用它。
我已成功停止通常的上下文菜单,通过覆盖它来显示如下:
window.oncontextmenu = function (event) {
event.preventDefault();
event.stopPropagation();
return false;
};
我还添加了CSS来停止高亮显示和文本选择等 - 但是我无法弄清楚几百毫秒后导致默认振动的原因。
是否有其他生命周期事件在oncontextmenu中或周围的移动浏览器中长时间弹出?
Full plunker示例在这里,长按移动浏览器上的图像(我在Android上使用chrome)来查看我的意思:https://plnkr.co/edit/y1KVPltTzEhQeMWGMa1F?p=preview
答案 0 :(得分:0)
在过去的一天左右的时间里,我使用自己的React App经历了同样的问题,与您一样,我也经历了相同的步骤,但没有成功。目前,我有一个Android应用程序正在使用webView打开React Web应用程序,我发现的是:
我相当确定您(我们)试图做的事情仅靠ReactJS(我使用的解决方案)是无法完成的,因为我通过Android应用程序加载ReactJS应用程序时要添加以下方法:< / p>
android:hapticFeedbackEnabled="false"
到我的AndroidManifest.xml文件 (此处的文档:https://developer.android.com/reference/android/view/View#attr_android:hapticFeedbackEnabled)
如果您想阅读更多有关本机Android解决方案的信息,请参阅Android Cookbook的有关自定义触觉反馈的部分:http://androidcookbook.com/Recipe.seam?recipeId=1242
或者,可以通过React-Native提供解决方案。 React Native具有内置的振动模块,可在此处获取配置文档:https://facebook.github.io/react-native/docs/vibration