输入按钮target="_blank"不能在新窗口/选项卡中加载链接。

25

我有一个带有输入按钮的HTML文件。 这只是一个示例按钮,但它包含了所有必要的代码信息:

<input type="button" onClick="parent.location='http://www.facebook.com/'" value="facebook" target="_blank">

由于某些原因,它无法在新窗口/标签中加载。

14个回答

1

0
在类似的用例中,这对我很有用...
<button onclick="window.open('https://www.w3.org/', '_blank');">  My Button </button>

-1

另一种解决方案是使用JQUERY编写一个函数,当用户单击按钮时调用该函数。此函数创建一个新的<A>元素,并将其附加到文档中,然后“点击”它并将其删除。

因此,就用户而言,他们单击了一个按钮,但在幕后,单击了一个带有target='_blank'的<A>元素。

<input type="button" id='myButton' value="facebook">

$(document).on('ready', function(){
     $('#myButton').on('click',function(){
         var link = document.createElement("a");
         link.href = 'http://www.facebook.com/';
         link.style = "visibility:hidden";
         link.target = "_blank";
         document.body.appendChild(link);
         link.click();
         document.body.removeChild(link); 
     });
});

JsFiddle:https://jsfiddle.net/ragDaniel/tf991u4g/2/


-2

你可以将它放在锚标签内

     <button>
        <a href="{{route('main.home')}}" class="btn header-item noti-icon waves-effect" target="_blank"><i class="bx bxs-home"></i></a>
     </button>

不行,HTML 不允许在按钮内部添加链接(反之亦然)。根据浏览器的错误恢复情况,不建议这样做。 - Quentin
更好的方法是用链接替换按钮...就像十年前被接受的答案建议的那样。 - Quentin
我不知道你怎么样,但对我来说它是有效的,而且我已经使用这种方法有一段时间了,它运行良好。你也可以在链接中使用onclick函数,但这种方法更简单。 - Murtaza Noori
“我不知道你怎么样,但对我来说它是有效的” — 我再次重申:根据浏览器错误恢复不被推荐。 - Quentin
你也可以在链接中使用onclick函数。但是,所引用的被接受的答案建议使用没有onclick的链接。 - Quentin

网页内容由stack overflow 提供, 点击上面的
可以查看英文原文,
原文链接