禁用特定元素上的移动长按上下文菜单

时间:2016-04-16 18:38:22

标签: javascript android jquery html css

我有一个包含各种控件的图库。其中一个控件是基本删除功能,删除您单击并按住约1秒钟以获得确认是否要删除。一切正常,只是在移动设备上,它经常导致弹出“Save Image As,etc”菜单,必须先关闭该菜单才能执行预定的操作。

我已经阅读了各种修复程序,但它们似乎都没有在我的Galaxy S5上使用当前版本的Chrome手机,而我能找到的最新答案是从2013年开始。

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

    window.oncontextmenu = function(event) {
        event.preventDefault();
        event.stopPropagation();
        return false;
    };

但它并没有阻止上下文菜单显示在我的S5上。正如我所说,我希望找到一个解决方案,以防止它出现在某些项目上,而不是整个窗口。

感谢Tasos的回答

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

1 个答案:

答案 0 :(得分:1)

我(在此处)发布答案,因为起初我还没有看到问题所在:)

所以Juste可以在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;
};