多次点击超链接,不应该打开多个选项卡/窗口.只有一个窗口.TAB应该打开
clicking hyperlink multiple times , multiple tabs/windows should not open. only one window.tab should open
在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);
});
请注意,这只捕获点击,因此,如果您使用键盘或其他方式激活链接,链接仍将被遵循。
相关文章:
- 创建一个类似链接的按钮,并通过Javascript函数打开一个新的弹出窗口
- 防止Iframe窗体在新窗口中打开
- 内部分区字体大小获胜'调整浏览器窗口大小时不会随媒体查询而更改
- 调整窗口大小时,可拖动的对象会出现在容器外部
- Javascript排序的图像弹出窗口..可以't单独弹出
- 窗口大小html css
- 弹出窗口出现,然后退出
- 为什么不是't窗口.恢复正常工作吗?(javascript/jquery)
- Javascript更新孙窗口中的表单元素
- 如何在选项卡上定义属性'的主窗口对象
- CSS-若窗口太小,滚动条会出现在“表格”单元格上
- 召回窗口加载事件 - javascript
- 为什么不显示警报窗口
- 如何使用modalDialog来显示可以在所有浏览器中工作的弹出窗口
- Chrome应用程序调整窗口大小保持纵横比
- 新选项卡被弹出窗口阻止程序阻止
- 如何访问UIWebView'的子窗口上下文
- 使用纯JS或jQuery通过Alt Tab检测浏览器页面窗口何时失去焦点
- 多次点击超链接,不应该打开多个选项卡/窗口.只有一个窗口.TAB应该打开
- Chrome扩展-使用当前tab's窗口功能从后台