Javascript 如何在Android上禁用腾讯/X5/微信浏览器中的上下文菜单
我有一个web应用程序,它有一些交互,用户需要长按/按住屏幕才能进行操作,这一切都很好,但在中国的微信上,以及类似的浏览器/网络视图(如腾讯(X5))上,按住屏幕时会出现一个上下文菜单 我尝试了以下代码(以及事件中的所有变体): 警报会在应用程序的上下文菜单前立即弹出,但我仍然无法阻止它发生 这里的任何帮助都将不胜感激。我知道微信安卓在中国有一个本地Javascript桥,其他的怪癖可以通过自定义属性等禁用,我只是没能修复这个 这可以很容易地使用(中国境外的作品)进行测试Javascript 如何在Android上禁用腾讯/X5/微信浏览器中的上下文菜单,javascript,wechat,Javascript,Wechat,我有一个web应用程序,它有一些交互,用户需要长按/按住屏幕才能进行操作,这一切都很好,但在中国的微信上,以及类似的浏览器/网络视图(如腾讯(X5))上,按住屏幕时会出现一个上下文菜单 我尝试了以下代码(以及事件中的所有变体): 警报会在应用程序的上下文菜单前立即弹出,但我仍然无法阻止它发生 这里的任何帮助都将不胜感激。我知道微信安卓在中国有一个本地Javascript桥,其他的怪癖可以通过自定义属性等禁用,我只是没能修复这个 这可以很容易地使用(中国境外的作品)进行测试 谢谢这帮我搞定了: e
谢谢这帮我搞定了:
element.addEventListener('touchstart', (e) => {
e.stopPropagation();
e.preventDefault();
// Trigger desired event here
});
取消touchstart事件似乎使浏览器认为指针不再被按下,而不是试图基于长按事件取消任何操作。您可以用主体替换元素,以防止它发生在任何事情上,但这可能不推荐(UX+其他副作用)
element.addEventListener('touchstart', (e) => {
e.stopPropagation();
e.preventDefault();
// Trigger desired event here
});