javascript阻止鼠标中键打开新选项卡中的链接
javascript prevent middle mouse button from opening link in new tab
在一些网站上,您可以右键单击链接并选择"在新选项卡中打开",这很好,但如果使用鼠标中键则不行。我遇到过几次这种情况,这并不太烦人,但我仍然很好奇是什么导致了这种行为。(关于如何)以下是一个使用Chrome 46进行浏览的网站:http://ebookfriendly.com/free-public-domain-books-sources/html链接标签看起来很正常:
<a title="Feedbooks" href="http://www.feedbooks.com/">⇢ Feedbooks</a>
原因一定是javascript中的某些内容。有指针吗?
auxclick
事件。(点击MDN)
以下代码将防止在整个页面上出现鼠标中键单击行为。
window.addEventListener("auxclick", (event) => {
if (event.button === 1) event.preventDefault();
});
这个链接似乎有一个使用preventDefault()
并通过其他方式打开页面的事件侦听器。
编辑:很难说他们为什么这么做,但当我查看整个处理程序时,链接似乎被传递到了谷歌分析:
function(e) {
var n = this.getAttribute("href"),
i = "string" == typeof this.getAttribute("target") ? this.getAttribute("target") : "";
ga("send", "event", "outbound", "click", n, {
hitCallback: t(n, i)
}, {
nonInteraction: 1
}), e.preventDefault()
}
您可以询问是哪个按钮导致了事件并阻止默认行为。
document.querySelector("a").addEventListener("click", function(e) {
if (e.which === 2) {
e.preventDefault();
}
}, false);
$(document).mousedown(function(e){
if(e.which == 2 ){
e.preventDefault();
alert("middle click");
return false;
}
});
只有当您保持alert()时才有效
相关文章:
- 根据选项卡内部的文本链接中的哈希ID动态选择jqueryUI选项卡
- 在新选项卡中打开链接,但不使用_blank方法
- 打开选项卡中的链接
- JQuery-停止手风琴链接关闭所有选项卡
- 文本链接可更改引导程序选项卡
- <中的链接;选择>下拉选项
- 如何禁用鼠标中键单击超链接以在新选项卡或新窗口中打开
- 链接到手风琴中的另一个选项卡,嵌入的链接将不起作用
- 如何在新选项卡中打开链接以及在当前选项卡中重定向
- 表单上预先选择的选项取决于您的链接'We’’’’来自
- 如何超链接在新选项卡中打开并携带一些变量的选择标记
- 如何防止iframe中的链接在新选项卡中打开
- 单击我网站中的链接时打开新选项卡,保持当前选项卡处于活动状态
- 打开除域之外在新选项卡中打开的所有外部链接
- 单击链接时添加另一个选项
- 如何使用角度材质应用选项卡链接波纹
- 谷歌地图点击链接/选项卡更改标记位置地图
- 如何在分页期间链接回特定的jquery ui选项卡
- 选项卡中的a href链接没有执行任何操作
- 提交表单的可能性(左-/中-/在新选项卡或窗口中打开-)单击html链接