javascript - 捕获 "open link in new tab"和 "Open link in new window"事件

标签 javascript jquery

这是我的代码

<a href="javascript:void(0)" onclick="myFun('www.google.com');" onmousedown="myFun('www.google.com');">

每当我单击此链接时,都会使用 onclick 事件调用我的函数。我为右键单击添加了 onmousedown 事件。但问题是,在选择“在新标签页中打开”“在新窗口中打开” 选项之前会调用此函数。当用户使用右键单击并且在选择右键单击选项之前,将调用该函数。我不想要这种行为。我想在用户实际选择“在新标签页中打开链接”“在新窗口中打开链接” 选项时调用此函数。

我不想在状态栏中显示链接,也不想让用户复制链接地址。这就是我使用 onclick 和 onmousedown 事件的原因。

请帮帮我。谢谢

最佳答案

您遇到的问题是,右击和左击都是通过 onclick 函数处理的。另一种可能性是使用 oncontextmenu(如前所述 here )。

但我认为您需要以不同方式处理右键单击和左键单击,因此 onclick 是正确的事件,只需检查它是主要 (0) 还是次要 (2) mouseButton(请参阅 here)。所以你的解决方案可能是这样的:

myFun(link) {
    var buttonPressed = instanceOfMouseEvent.button;
    if (buttonPressed == 0) {
         //Handle normal click
    } else if (buttonPressed == 2) {
         //Handle right click 
    }
}

关于javascript - 捕获 "open link in new tab"和 "Open link in new window"事件,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/42650773/

相关文章:

javascript - 专注于位于 vuejs 中另一个组件内的输入?

javascript - 如何防止 onclick 方法中的默认事件处理?

javascript - 使用 Redux 强制执行一个操作在另一个操作之前调用

javascript - 如果没有头像,则从 json 中检查性别并放入 img 标签中

javascript - 如何将 Canvas 元素转换为字符串

jquery - 将 div 高度设置为与背景宽度成比例

javascript - 如何使用 jquery 为单选按钮设置边框样式

javascript - Jquery:获取 parent 的 parent

jquery - 如何使用 jQuery SVG 插件设置 SVG 矩形元素的背景图像?

javascript - 同时显示不同 div 中选定复选框的值并求和