如何使按钮的行为像链接但在新选项卡上?

时间:2019-05-12 15:50:42

标签: html

我当时使用按钮转到新链接,但一直继续预览。

我尝试使用:

<button type="button" onclick="window.location.href = 'www.typing.com' target = '_blank'">Typing.com</button>

我希望它可以将我带到新标签页,但是发生的是此错误:

  

未捕获到的SyntaxError:意外的标识符(:112行)

当我什至没有112行时。

2 个答案:

答案 0 :(得分:2)

下面的代码行将不起作用,因为您没有正确地引用它:

<button type="button" onclick="window.location.href = 'https://www.typing.com' target = '_blank'">Typing.com</button>

对于初学者来说,这不是有效的JavaScript。

window.location.href = 'https://www.typing.com' target = '_blank'

您尚未定义名为target的变量,应该在赋值后加上分号。

我认为您的意思是写这个:

<button type="button" onclick="window.location.href='https://www.typing.com'" target="_blank" id="myButton">typing.com</button>

即使将其更改为该键,它也无法按预期方式工作,因为您不能在按钮上使用anchor tag's target attribute,也不能使用分配给window.location.href的键来对其进行设置。


如果 必须 使用内联脚本,请使用window.open函数,然后添加第二个参数("_blank"),如下所示:< / p>

<button type="button" onclick="window.open('https://www.typing.com', '_blank');" id="myButton">typing.com</button>

如果您尝试使用嵌入式脚本使按钮的行为类似于锚标签,为什么不使用类似于按钮的实际链接和样式呢?

将锚标记的target属性设置为_blank,如下所示:

<a href="https://www.typing.com" target="_blank" class="button">Typing.com</a>

(蓝色)按钮的一些基本样式:

.button {
  border: none;
  color: white;
  padding: 15px 32px;
  text-align: center;
  text-decoration: none;
  display: inline-block;
  font-size: 16px;
  background-color: #03A9F4;
}

如果您想沿JavaScript路线走,请忽略前两种方法,仅向按钮元素添加click事件,如下所示:

document.querySelectorAll(".button")[0].addEventListener("click", function() {
  window.open("https://www.typing.com", "_blank");
});

注释和信息:

  • 必须使用_blank参数才能在新标签页中打开它。
  • 您必须使用for(或forEach)循环将click事件添加到每个按钮。
  • 如果用户安装了弹出窗口阻止程序(扩展程序),则
  • 您的“链接” 将不起作用。

祝你好运。

答案 1 :(得分:0)

请尝试使用以下代码段。

<button type="button" onclick="window.open('www.yoursite.com');"
 id="myButton">typing.com</button>