Warning: file_get_contents(/data/phpspider/zhask/data//catemap/9/javascript/389.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
Javascript 如何在Android上禁用腾讯/X5/微信浏览器中的上下文菜单_Javascript_Wechat - Fatal编程技术网

Javascript 如何在Android上禁用腾讯/X5/微信浏览器中的上下文菜单

Javascript 如何在Android上禁用腾讯/X5/微信浏览器中的上下文菜单,javascript,wechat,Javascript,Wechat,我有一个web应用程序,它有一些交互,用户需要长按/按住屏幕才能进行操作,这一切都很好,但在中国的微信上,以及类似的浏览器/网络视图(如腾讯(X5))上,按住屏幕时会出现一个上下文菜单 我尝试了以下代码(以及事件中的所有变体): 警报会在应用程序的上下文菜单前立即弹出,但我仍然无法阻止它发生 这里的任何帮助都将不胜感激。我知道微信安卓在中国有一个本地Javascript桥,其他的怪癖可以通过自定义属性等禁用,我只是没能修复这个 这可以很容易地使用(中国境外的作品)进行测试 谢谢这帮我搞定了: e

我有一个web应用程序,它有一些交互,用户需要长按/按住屏幕才能进行操作,这一切都很好,但在中国的微信上,以及类似的浏览器/网络视图(如腾讯(X5))上,按住屏幕时会出现一个上下文菜单

我尝试了以下代码(以及事件中的所有变体):

警报会在应用程序的上下文菜单前立即弹出,但我仍然无法阻止它发生

这里的任何帮助都将不胜感激。我知道微信安卓在中国有一个本地Javascript桥,其他的怪癖可以通过自定义属性等禁用,我只是没能修复这个

这可以很容易地使用(中国境外的作品)进行测试


谢谢

这帮我搞定了:

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
});