0

我正在使用 jQuery 移动弹出窗口作为右键单击桌面和点击移动设备时触发的上下文菜单。

我的问题:当我右键单击时,会出现弹出窗口 - 它工作正常。但是当弹出窗口打开并且我在弹出窗口之外单击鼠标右键时,弹出窗口将关闭,并且会出现标准浏览器上下文菜单而不是新弹出窗口。

弹出窗口在其自身下创建一个新层(其类为 ".ui-popup-screen" )以捕获事件,但类似于

$(".ui-popup-screen").on("click", function(event) {
    event.preventDefault();
    $('#myElementWithPopupContextMenu').contextmenu();
    return false;
});

不起作用。

任何想法如何解决它?

4

1 回答 1

1

我喜欢像跟随模式一样写。

// prevent default contextmenu and trigger as 'custom-contextmenu'
$(".ui-popup-screen")
    .bind("contextmenu",function(e) {
        e.preventDefault();

        // create and show menu
        $("#myElementWithPopupContextMenu").trigger( "custom-contextmenu" );
    });

// context menu handler
$("#myElementWithPopupContextMenu").bind( "custom-contextmenu", function(e) {
    // my context menu
}
于 2013-02-19T15:50:55.807 回答