Warning: file_get_contents(/data/phpspider/zhask/data//catemap/9/javascript/372.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
javascript:如何检查是否在上下文菜单“新建”选项卡上单击了链接_Javascript_Browser - Fatal编程技术网

javascript:如何检查是否在上下文菜单“新建”选项卡上单击了链接

javascript:如何检查是否在上下文菜单“新建”选项卡上单击了链接,javascript,browser,Javascript,Browser,是否可以检查是否单击链接以在新窗口中打开? 我的意思是ctrl或shift键按下是清晰的,您可以处理此事件,但浏览器中的右键单击上下文菜单如何?在这里,您可以单击上下文菜单项“在另一个窗口中打开” Jquery上下文方法在上下文菜单打开时触发: $("a").contextmenu(function() { alert("context"); }); $("a").click( if (evnt.ctrlKey || evnt.shiftKey || evnt.metaKey ||

是否可以检查是否单击链接以在新窗口中打开? 我的意思是ctrl或shift键按下是清晰的,您可以处理此事件,但浏览器中的右键单击上下文菜单如何?在这里,您可以单击上下文菜单项“在另一个窗口中打开”

Jquery上下文方法在上下文菜单打开时触发:

$("a").contextmenu(function() {
  alert("context");
});

$("a").click(
    if (evnt.ctrlKey || evnt.shiftKey || evnt.metaKey || 
        (evnt.button && evnt.button == 1)){
        alert("link clicked");
    }
);

我提出了这个解决方案,它非常简单,而且是DIY,但是应该可以做到这一点

诀窍是使用以下jQuery插件创建自己的上下文菜单:

https://rawgit.com/swisnl/jQuery-contextMenu/master/dist/jquery.contextMenu.js https://rawgit.com/swisnl/jQuery-contextMenu/master/dist/jquery.contextMenu.css https://rawgit.com/swisnl/jQuery-contextMenu/master/dist/jquery.ui.position.js

这不会在SO上执行,我建议在JSFIDLE上运行它:

$function{ $.contextMenu{ 选择器:'.关联菜单一', 回调:函数键,选项{ var m=点击:+键; window.console&&console.logm; 开关钥匙{ 案例打开\新建\窗口: console.log$this; //var win=window。打开$this[0]。href,“_blank”; 窗口。打开$this[0]。href,“u blank”; //赢得焦点; 打破 案例切割: 打破 } }, 项目:{ 打开新窗口:{ 名称:在新选项卡中打开链接, 图标:编辑 }, 削减:{ 姓名:Cut,, 图标:剪切 } } }; };
向我们展示您在提出此问题之前所做的研究/代码/示例。请参阅:也看看这里:jQuery提供了什么。谢谢,我已经看到了contextmenu方法,但这只会在菜单打开时触发。我想获得“在新选项卡中打开”菜单项的操作。这不可能,也与您无关:-@CBrone请您向OP解释为什么不可能,而不是简单地说明。