Javascript 多次单击超链接,不应打开多个选项卡/窗口。只能打开一个window.tab
在Javascript 多次单击超链接,不应打开多个选项卡/窗口。只能打开一个window.tab,javascript,html,jsp-tags,Javascript,Html,Jsp Tags,在JSP中,我们使用显示付款摘要超链接,如下所示: <a href="javascript:window.print()"> <font size="2px">Print Summary</font></a> 每次用户单击超链接时,都会打开一个新选项卡,其中包含一个suammary。我们希望在用户单击超链接时升级此功能,只打开一个选项卡/窗口,而不是多个 我该怎么做呢?这很糟糕,你不应该这么做。不要破坏网络 然而,您必须捕捉点击并添加一些逻辑
JSP
中,我们使用显示付款摘要超链接,如下所示:
<a href="javascript:window.print()">
<font size="2px">Print Summary</font></a>
每次用户单击超链接时,都会打开一个新选项卡,其中包含一个suammary。我们希望在用户单击超链接时升级此功能,只打开一个选项卡/窗口,而不是多个
我该怎么做呢?这很糟糕,你不应该这么做。不要破坏网络 然而,您必须捕捉点击并添加一些逻辑来查看是否应该停止事件。如果您的标记如下所示:
<a href="blah.html" class="self-destructing">Don't you dare click me twice!</a>
请注意,这只捕获点击,因此如果您使用键盘或其他方式激活链接,链接仍然会被跟踪。我选择了简单方法函数openPaymentReceiptPopup(){window.open(“jsp/ordering/orderingReceiptPopup.jsp”,“name”);返回false;}
[].forEach.call(document.querySelectorAll('a.self-destructing'), function(el){
el.addEventListener('click', function(e) {
if (typeof e.target.dataset.visited !== 'undefined') {
e.preventDefault();
} else {
e.target.setAttribute('data-visited', 1);
}
}, false);
});