在JSP
我们正在使用显示付款摘要超链接,如下所示:
<a href="javascript:window.print()">
<font size="2px">Print Summary</font></a>
每次用户点击超链接时,都会打开一个带有suammary的新标签页。我们希望每当用户点击超链接时都要升级此功能,只应打开一个选项卡/窗口,而不是多个。
我该怎么做?
答案 0 :(得分:0)
这很糟糕,你不应该这样做。不要破坏网络。
然而,你必须抓住点击并添加一些逻辑,看看你是否应该停止这个事件。如果你的标记看起来像这样:
<a href="blah.html" class="self-destructing">Don't you dare click me twice!</a>
你会做类似的事情:
[].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);
});
请注意,这只会捕获点击次数,因此如果您使用键盘或其他方式激活链接,则仍会遵循该链接。