I am using the onclick event of a hashed link to open a <div> as a pop up. But the middle click does not trigger the onclick event but only takes the href attribute value of the link and loads the URL in a new page. How can I use middle click to open the <div> as a popup?

推荐答案

EDIT

此答案已被弃用,在Chrome上为doesn't work.您很可能最终会使用auxclick event,但请参考下面的其他答案.

/EDIT


贝格斯的答案是正确的,但听起来您似乎想要阻止鼠标中键的默认操作.在这种情况下,请包括以下内容

$("#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()将停止事件的默认操作.

Jquery相关问答推荐

缺少 .map 资源?

jQuery ajax 调用默认超时值

使用 JSONP 时如何捕获 jQuery $.getJSON(或数据类型设置为jsonp的 $.ajax)错误?

如何在数据表中显示空数据消息

如何判断输入日期是否等于今天的日期?

如何正确卸载/销毁 VIDEO 元素

如何立即启动 setInterval 循环?

使用跨域帖子发送凭据?

如何在 HTML选项标签上显示工具提示?

如何在 Jquery 中将 delay() 与 show() 和 hide() 一起使用

$.each(selector) 和 $(selector).each() 有什么区别

停止输入/书写后如何触发输入文本中的事件?

更改 Eclipse 设置以忽略特定文件上的错误

如何使用 jQuery 格式化电话号码

在事件中使用 jQuery 获取被点击的元素?

jQuery - 添加 ID 而不是类

jQuery .each() 索引?

粘性侧边栏:向下滚动时固定在底部,向上滚动时固定在顶部

jquery - 成功时使用ajax结果返回值

使用 jQuery 将一个标签替换为另一个标签