Javascript 在特定元素上禁用mobile longpress上下文菜单

Javascript 在特定元素上禁用mobile longpress上下文菜单,javascript,android,jquery,html,css,Javascript,Android,Jquery,Html,Css,我有一个带有各种控件的图像库。其中一个控件是基本的删除功能,要删除,请单击并按住约1秒以获得确认,询问是否要删除。一切正常,只是在移动设备上,它经常会导致“另存图像为等”菜单弹出,在执行预期操作之前必须关闭该菜单 我读过各种修复程序,但它们似乎都不能与我的Galaxy S5上当前版本的Chrome mobile配合使用,我能找到的最新答案是2013年的 我发现有人说上下文菜单是它自己的功能,所以我尝试了这样的方法: window.oncontextmenu = function(even

我有一个带有各种控件的图像库。其中一个控件是基本的删除功能,要删除,请单击并按住约1秒以获得确认,询问是否要删除。一切正常,只是在移动设备上,它经常会导致“另存图像为等”菜单弹出,在执行预期操作之前必须关闭该菜单

我读过各种修复程序,但它们似乎都不能与我的Galaxy S5上当前版本的Chrome mobile配合使用,我能找到的最新答案是2013年的

我发现有人说上下文菜单是它自己的功能,所以我尝试了这样的方法:

    window.oncontextmenu = function(event) {
        event.preventDefault();
        event.stopPropagation();
        return false;
    };
但它并没有阻止上下文菜单显示在我的S5上。正如我所说的,我希望找到一个解决方案,防止它出现在某些项目上,而不是整个窗口上

感谢塔索斯的回答

document.getElementById('yourElement').oncontextmenu = function(event) {
    event.preventDefault();
    event.stopPropagation(); // not necessary in my case, could leave in case stopImmediateProp isn't available? 
    event.stopImmediatePropagation();
    return false;
};
我(重新)把答案贴在这里,因为一开始,我没有在问题中看到:)

因此,只需使用以下代码,并使用stopImmediatePropagation:

document.getElementById('yourElement').oncontextmenu = function(event) {
    event.preventDefault();
    event.stopPropagation(); // not necessary in my case, could leave in case stopImmediateProp isn't available? 
    event.stopImmediatePropagation();
    return false;
};

您是否已添加此CSS-webkit用户选择:无;要禁用长按时的文字选择功能,请按。我认为您没有遇到这个问题还有(event.stopImmediatePropagation();)--请尝试将其放在(event.stopPropagation();)下面--否则请检查此处CSS属性也不起作用。塔索斯,请用你的stopImmediateProp解决方案发布一个答案,因为它起作用了,我想给你评分。也将更新原始问题。谢谢它不起作用。