gpt4 book ai didi

javascript - 我可以拦截中间点击和新标签链接点击吗?

转载 作者:可可西里 更新时间:2023-11-01 12:58:19 25 4
gpt4 key购买 nike

假设我想拦截某些 anchor 元素链接并跟踪它们。我有以下有效的方法。

HTML

<a href="/foo" data-mytracking="fooclicked">go to foo</a>

JS

$('a[data-mytracking]').click((event) => {
event.preventDefault();
// Do some synchronous code to log tracking
console.log(event.target.getAttribute('data-mytracking'), event.target.href);
window.location = event.target.href;
});

有没有办法让这个点击代码仍然拦截中间点击或右键点击“在新标签页中打开”?我知道如果我制作 href="javascript:void(0)" 就可以做到这一点。但随后人们将无法在新标签页中打开。

最佳答案

有些浏览器有auxclick event .您还可以跟踪 event.which to track middle button .

$("a[data-mytracking]").on('click', function(ev) { 
if( ev.which== 2 ) {
e.preventDefault();
// do smth else
}
});

通过上下文菜单打开可能无法跟踪,但您可以有 oncontextmenu 事件。

附言至少 Chrome 不会触发点击打开带有中间按钮的新标签页。但它确实会触发 mouseup

关于javascript - 我可以拦截中间点击和新标签链接点击吗?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/45889803/

25 4 0