gpt4 book ai didi

javascript:void(0) 和目标 ="_blank"行为

转载 作者:太空狗 更新时间:2023-10-29 15:17:21 25 4
gpt4 key购买 nike

首先,我没有真正的问题。我问这个只是出于好奇。

在同一个链接中使用 javascript:void(0)target="_blank" 时,我不小心遇到了一个奇怪的行为,就像这样。

<a href="javascript:void(0);" target="_blank" /> Link </a>

我发现 Chrome 正常处理这个问题,当你点击链接时没有做任何事情,而 IEFirefox 打开一个空白新标签。

我的问题是,难道 javascript:void(0) 不应该阻止从链接触发任何点击事件,即使它针对的是新选项卡/窗口?为什么 target="_blank" 会覆盖它?

还有什么是最好的方法,比方说,用一些后端语言填充 href 属性,我更喜欢 target="_blank" 在旁边硬编码href 属性?

最佳答案

<a href=# onclick="return false;">I look like a link!</a>

一直用这个。

编辑:对于您关于 void(0) 的问题,onclick 应该比 href 属性具有更高的优先级,因为它提供了更丰富的功能并且具有实际阻止 href 操作的能力 - 因此我的 返回错误。如果存在 onclick 事件,href 仅适用于机器人和旧浏览器。

此外,是否使用奇怪格式的 URL 执行常规导航由浏览器自行决定。如果链接以散列开头,它应该跳转到书签。但是当它为空或包含其他协议(protocol)时,这完全取决于浏览器是否决定尝试访问新文档。输入 javascript: 伪协议(protocol)传统上用于希望与当前页面一起工作的小书签,所以任何 javascript: 不执行 document.write () 或其他破坏性修改应该保持页面未重新加载。

EDIT2:我不确定你在 href 中所说的后端语言是什么意思,但是考虑 HTML 有效的 data- 属性,如果它在逻辑上不属于一个 href 属性。

关于javascript:void(0) 和目标 ="_blank"行为,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/17094413/

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