Javascript 在移动浏览器中不会触发ContextMenu事件

Javascript 在移动浏览器中不会触发ContextMenu事件,javascript,Javascript,ContextMenu事件在手机上不起作用?我使用简单的addEventListenercontextmenu处理程序。它在Chrome开发工具中启动,但在真正的手机中不启动。我在Android和Windows Phone上试用过 如何使其工作?Android上的Chrome/Browser版本是什么?您使用的是哪个版本的Windows Phone 可能需要调整代码以查看document.addEventListener函数是否已定义,如果未定义,则返回到旧的“attachEvent”函数 试试

ContextMenu事件在手机上不起作用?我使用简单的addEventListenercontextmenu处理程序。它在Chrome开发工具中启动,但在真正的手机中不启动。我在Android和Windows Phone上试用过


如何使其工作?

Android上的Chrome/Browser版本是什么?您使用的是哪个版本的Windows Phone

可能需要调整代码以查看document.addEventListener函数是否已定义,如果未定义,则返回到旧的“attachEvent”函数

试试这个:

if (document.addEventListener) {
        document.addEventListener('contextmenu', function(e) {
        // handler
        }, false);
    } else {
        document.attachEvent('oncontextmenu', function() {
         //handler
        });
    }
另外,您试图通过覆盖默认上下文菜单行为来实现什么


当您说“…不会在真正的手机上开火”时,document.addEventListener行是否没有被击中,或者处理程序函数是否没有正确执行。你能发布你的句柄函数代码吗?

@jonnyknowsbest,我使用上面列出的代码来附加句柄。我在Android 5和Windows Phone 8.1 Mobile IE11上试用过。在真实的设备中,即使我只在里面放了一个警报,处理程序也永远不会启动。我知道,要触发contextmenu,我需要执行长点击。我这样做了,但什么也没发生。手机不支持Currenlty oncontextmenu,这就是它不会启动的原因。您应该像@jonathanmish所说的那样,通过自己或使用插件来实现longtap事件