如果单击右键,则使用onCLICK但回退到HREF

时间:2015-12-29 16:26:21

标签: javascript html

如果用户点击链接,则应打开一个弹出窗口。

这是我们的current.html

<a href="#" onclick="window.open('important.html', '_blank', 'width=900,height=600');>

效果很好,href="#"会阻止网页进入任何地方。

我想处理用户可能右键单击链接并选择在新标签页中打开链接的情况。

目前,由于href="#"

,将打开 current.html 的新标签,而不是 important.html

...当用户没有右键单击时,将我们的href更改为href="important.html"是不可行的,因为我们的onclick会显示一个新窗口,并且会触发来自href的相同新标签。

如何单独设置href以进行右键单击使用?

3 个答案:

答案 0 :(得分:2)

如果您的onclick事件返回false,则可以阻止默认的锚点击行为:

&#13;
&#13;
<a href="important.html" onclick="window.open('important.html', '_blank', 'width=900,height=600'); return false">link</a>
&#13;
&#13;
&#13;

通过这种方式,您可以同时使用左右键功能。

答案 1 :(得分:1)

您应该设置href="important.html"以便右键单击可以正常工作,然后更改onClick,以防止左键单击时出现默认操作:

function click() {
  event.preventDefault(); // Prevents the default anchor action.
  window.open('important.html', '_blank', 'width=900,height=600')
}

然后设置onClick:

<a href="important.html" onclick="click()">link</a>

答案 2 :(得分:1)

添加return false;将阻止链接的默认行为发生。使用在新标签页中打开时,使用默认行为。

<a href="important.html" onclick="window.open('important.html', '_blank', 'width=900,height=600'); return false;">Link</a>