我正在使用jQuery移动弹出窗口作为右键单击桌面上的上下文菜单并在移动设备上轻敲。
我的问题:当我右键单击时,弹出窗口出现 - 它工作正常。但是当弹出窗口打开并在弹出窗口外右键单击时,弹出窗口将关闭,并显示标准浏览器上下文菜单而不是新弹出窗口。
弹出窗口在其自身下创建一个新图层(其类为“.ui-popup-screen”)以捕获事件,但类似
$(".ui-popup-screen").on("click", function(event) {
event.preventDefault();
$('#myElementWithPopupContextMenu').contextmenu();
return false;
});
不起作用。
任何想法如何解决?
答案 0 :(得分: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
}