多次点击超链接,不应该打开多个选项卡/窗口.只有一个窗口.TAB应该打开

clicking hyperlink multiple times , multiple tabs/windows should not open. only one window.tab should open

本文关键字:窗口 TAB 有一个 超链接 不应该 选项      更新时间:2023-09-26

JSP中,我们使用显示付款摘要超链接如下:

<a href="javascript:window.print()">
<font size="2px">Print Summary</font></a>

每次用户单击超链接时,都会打开一个带有摘要的新选项卡。我们想要升级这个功能,当用户点击超链接时,只应该打开一个选项卡/窗口,而不是多个。

我该怎么做?

这是不好的,你不应该这样做。不要破网。

然而,您必须捕获点击并添加一些逻辑来查看是否应该停止事件。假设您的标记看起来像这样:

<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);
});

请注意,这只捕获点击,因此,如果您使用键盘或其他方式激活链接,链接仍将被遵循。