Warning: file_get_contents(/data/phpspider/zhask/data//catemap/9/javascript/434.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_Jquery_Browser_Contextmenu_Right Click - Fatal编程技术网

是否有可能捕获;“在新选项卡中打开”;使用javascript单击上下文菜单的事件?

是否有可能捕获;“在新选项卡中打开”;使用javascript单击上下文菜单的事件?,javascript,jquery,browser,contextmenu,right-click,Javascript,Jquery,Browser,Contextmenu,Right Click,我知道我可以使用jQuery的“”来捕获右键单击事件,但我的问题是,在上下文菜单出现后,即当用户单击“在新选项卡中打开链接”操作时,如何捕获事件 有什么帮助吗 谢谢 我找到了这个解决方案 <script type='text/javascript'> jQuery(function($){ $('a').mousedown(function(event) { switch (event.which) { case 1:

我知道我可以使用jQuery的“”来捕获右键单击事件,但我的问题是,在上下文菜单出现后,即当用户单击“在新选项卡中打开链接”操作时,如何捕获事件

有什么帮助吗

谢谢

我找到了这个解决方案

<script type='text/javascript'>
jQuery(function($){
    $('a').mousedown(function(event) {
        switch (event.which) {
            case 1:
                //alert('Left mouse button pressed');
                $(this).attr('target','_self');
                break;
            case 2:
                //alert('Middle mouse button pressed');
                $(this).attr('target','_blank');
                break;
            case 3:
                //alert('Right mouse button pressed');
                $(this).attr('target','_blank');
                break;
            default:
                //alert('You have a strange mouse');
                $(this).attr('target','_self"');
        }
    });
});

jQuery(函数($){
$('a').mousedown(函数(事件){
开关(event.which){
案例1:
//警报(“按下鼠标左键”);
$(this.attr('target','u self');
打破
案例2:
//警报(“按下鼠标中键”);
$(this.attr('target','u blank');
打破
案例3:
//警报(“按下鼠标右键”);
$(this.attr('target','u blank');
打破
违约:
//警惕(“你有一只奇怪的老鼠”);
$(this.attr('target','u self');
}
});
});


这里

你在这里引用了这篇文章:我引用了你提供的链接,看起来他们正在处理另一个选项卡中打开的页面。就像查看页面加载事件的历史记录一样。我需要做的是在打开新页面之前在同一页面上捕获事件。我认为这根本不可能,至少不是来自在网站上下文中运行的JS。这闻起来非常-你能描述一下你试图解决的实际问题吗?我的情况是,我有一个搜索结果页面,它位于ASPX应用程序中。当用户单击特定链接(悬停时出现)时在搜索结果的结果行中,我需要将该行转换为不同的颜色,以确定它是否已被查看。定期单击可以解决任何问题。但是,当用户使用“在新选项卡中打开链接”打开此链接时“上下文菜单,我不知道是否可以捕获此单击。感谢您向我介绍X/Y问题。您的解决方案允许我捕获不同的鼠标单击,但无助于捕获右键单击后出现的上下文菜单上的事件单击。您需要使用库来处理上下文菜单。尝试使用此链接感谢Ryuk,但这将为用户创建一个自定义上下文菜单,禁用浏览器的默认右键单击交互。我正在寻找一些东西来捕获浏览器提供的默认交互。:)