我在htm中有锚标签。当我在锚标签上单击鼠标中键时,则会打开新选项卡。 但我想阻止它的运作。我在javascript中尝试了很多技巧,但它无法正常工作。任何人都可以解决这个问题吗?
<a class="tag" href="www.google.com>google</a>
我不想通过在带有类(标签)的锚标签上单击鼠标中键来打开一个新标签... 阻止鼠标中键在具有特定ID的锚点选项卡上打开新选项卡。
答案 0 :(得分:1)
我按照我的要求找到了解决方案
<html>
<head>
<script src="http://code.jquery.com/jquery-1.8.0.min.js"></script>
<script>
$(function(){
$(document).on("click", function(e){
if($(e.target).is("#google") && e.button===1)
e.preventDefault()
})
})
</script>
<meta charset=utf-8 />
<title>JS Bin</title>
</head>
<body>
<a href="http://google.com" id="google">Google</a><br> <a href="http://bing.com" id="bing">Bing</a>
</body>
</html>
答案 1 :(得分:0)
我同意@Matt Lishman的评论:不要。
但要给你一个解决方案:
您的代码几乎是正确的。只有(正如@GoTo所说),mouseup
才会迟到。
当您收听click
个事件时,您可以检查事件对象上的which
属性。使用滚轮单击时which
为2
。
所以,如果which === 2
,preventDefault