Warning: file_get_contents(/data/phpspider/zhask/data//catemap/9/javascript/408.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函数”;在新选项卡中打开链接";及;“在新windw中打开链接”;_Javascript_Jquery - Fatal编程技术网

选择“后调用Javascript函数”;在新选项卡中打开链接";及;“在新windw中打开链接”;

选择“后调用Javascript函数”;在新选项卡中打开链接";及;“在新windw中打开链接”;,javascript,jquery,Javascript,Jquery,当用户右键单击链接并选择“在新选项卡中打开链接”和“在新窗口中打开链接”选项时,我想调用javascript函数。有没有办法做到这一点?我不想使用“oncontextmenu”,也不想自定义上下文菜单选项 不,不可能。您只有两个选项可以捕获用户的右键单击: 使用oncontextmenu事件: element.addEventListener('contextmenu', function(ev) { ev.preventDefault(); alert('success!');

当用户右键单击链接并选择“在新选项卡中打开链接”和“在新窗口中打开链接”选项时,我想调用javascript函数。有没有办法做到这一点?我不想使用“oncontextmenu”,也不想自定义上下文菜单选项

,不可能。您只有两个选项可以捕获用户的右键单击:

  • 使用oncontextmenu事件:

    element.addEventListener('contextmenu', function(ev) {
        ev.preventDefault();
        alert('success!');
        return false;  // standard context menu will not pop up
    }, false);
    
    $('a').mousedown(function(ev){ 
        if(ev.which == 3){   // 3 -> key code for right-click
            // do your thing
            alert("Right btn clicked");
        }
    }
    
  • <div oncontextmenu="javascript:alert('success!');return false;">
        Lorem Ipsum
    </div>
    

    严格地说,不,你不能。但是,我想知道为什么?因为我可以很容易地提出一个基于PHP的解决方案(尽管它无法区分两者)。或者,如果您试图警告用户,我们可以很容易地禁用此类功能。对不起,我没有理解。。不可以,如上所述。可能重复