gpt4 book ai didi

javascript - 如果在新选项卡中打开时单击 anchor 链接(按住 Ctrl 并单击窗口),如何不在 anchor 链接上运行 onclick

转载 作者:行者123 更新时间:2023-11-28 06:27:57 25 4
gpt4 key购买 nike

我有一个链接。

如果我点击它,onclick 的 javascript 就会运行,我们不会转到 href 地址。这很好。

如果我右键单击它并选择在新选项卡中打开,那么我们只会转到新选项卡中的 href 地址,并且 onclick 不会运行。这也不错。

如果我 cntl 并单击(在 Windows 上 - 命令并在 ios 上单击),则 onclick 运行(大概是因为发生了单击)并且我会转到新选项卡中的 href 地址。我不想要这个。我只想打开新标签。

<a href="http://www.google.co.uk" onclick="arguments[0].stopPropagation(); alert('Clicked')">Do some stuff</a>

或者 - 我能否检测到我的 onclick 也导致打开一个新选项卡,以便我可以选择不运行我的代码。

或者,是否还有其他我应该监听的事件。

我希望在按住 ctrl 并单击时发生的是 - 新选项卡打开,我的 javascript 代码不运行(或者我可以选择要执行的操作)。

如果可能的话,我需要一些可以在所有(最新)浏览器和操作系统上运行的东西。 IE。我不想检查 cntr(17) 是否被按下。我更想知道点击的目的是打开一个新选项卡 - 我希望看到事件的动态目标属性,但我找不到它。

(PS - 忽略参数[0]可能并不存在于所有浏览器中的事实 - 这只是我的问题的一个例子)

我不认为这与了解控制键是否被按下是重复的(尽管它很可能是唯一的检查方法)。我问是否有一种方法可以区分在新窗口/选项卡中定位链接和在同一选项卡中定位链接。

最佳答案

我建议添加“return false;”到 onclick=".."的末尾 - 这样 href=... 位仅在 javascript 被禁用或被绕过时才会触发。

关于javascript - 如果在新选项卡中打开时单击 anchor 链接(按住 Ctrl 并单击窗口),如何不在 anchor 链接上运行 onclick,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/34952097/

25 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com