使用中键单击触发单击事件
2022-08-30 05:38:13
我正在使用散列链接的事件来打开一个弹出窗口。但中键单击不会触发 onclick 事件,
而只是获取链接的属性值并将 URL 加载到新页面中。如何使用中键单击打开弹出窗口?onclick
<div>
href
<div>
我正在使用散列链接的事件来打开一个弹出窗口。但中键单击不会触发 onclick 事件,
而只是获取链接的属性值并将 URL 加载到新页面中。如何使用中键单击打开弹出窗口?onclick
<div>
href
<div>
编辑
此答案已被弃用,在 Chrome 上不起作用。您很可能最终会使用辅助点击事件,但请参阅下面的其他答案。
/编辑
beggs的答案是正确的,但听起来你想阻止中键的默认操作。在这种情况下,请包括以下内容
$("#foo").on('click', function(e) {
if (e.which == 2) {
e.preventDefault();
alert("middle button");
}
});
<script src="https://cdnjs.cloudflare.com/ajax/libs/jquery/3.3.1/jquery.min.js"></script>
<a id="foo" href="http://example.com">middle click me</a>
preventDefault() 将停止事件的默认操作。
要检测中键/鼠标滚轮按钮,必须使用 事件 。例如:auxclick
<a href="https://example.com" onauxclick="func()" id="myLink"></a>
然后在脚本文件中
function func(e) {
if (e.button == 1) {
alert("middle button clicked")
}
}
如果你想从JavaScript(不使用HTML属性)来做到这一点,那么你就是这个元素:onauxclick
addEventListener
let myLink = document.getElementById('myLink')
myLink.addEventListener('auxclick', function(e) {
if (e.button == 1) {
alert("middle button clicked")
}
})
<a id="myLink" href="http://example.com">middle click me</a>
在此处查看有关该事件的mdn页面。auxclick