gpt4 book ai didi

javascript - 防止中键单击按钮在 FIREFOX 中打开新选项卡不起作用

转载 作者:行者123 更新时间:2023-12-05 06:37:21 24 4
gpt4 key购买 nike

我有以下简单代码 - 我有一个相当复杂的东西,但这证明了我的观点 -。

我有下面的html

   <body>
<a id="somelink" href="http://www.google.com"
onmousedown="preventOpen(event,this)" onclick="return
confirmClick();">Click me</a>
</body>

和下面的javascript代码

  <script>
function preventOpen(event, element){
event = event || window.event;
event.preventDefault();
if (event.which != 3) {
element.click();
}
}

function confirmClick(){
return confirm("Are you sure?");
}
</script>

基本上,如果单击链接时使用鼠标中键单击鼠标滚轮按钮打开新选项卡,我会尝试提示确认 - 我想阻止打开新选项卡-。这在 Chrome 中就像一个魅力一样工作,但是,它在 Firefox 中不起作用 - 它退出 javascript 代码的那一刻 - 即“confirmClick”功能 - 它打开一个新选项卡 - 尽管它成功触发了 preventDefault() 。关于为什么这在 FF 中不起作用的任何想法?我现在宁愿远离 jQuery 回复。

最佳答案

我想正确的方法是使用 auxclick 事件。 ( auxclick on MDN )

window.addEventListener("auxclick", (event) => {
if (event.button === 1) {
if (!confirm("Are you sure?")) event.preventDefault();
}
});

关于javascript - 防止中键单击按钮在 FIREFOX 中打开新选项卡不起作用,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/47984395/

24 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com