Javascript 如何防止Ctrl+鼠标单击打开新选项卡?
我有一个链接如下Javascript 如何防止Ctrl+鼠标单击打开新选项卡?,javascript,Javascript,我有一个链接如下 <a href="#" onclick="function1()">link</a> javascript函数1包括提交表单操作 现在我想使用JavaScript来阻止Ctrl+鼠标点击打开IE>=6、FF和Chrome链接上的新选项卡 更新以修复 1.更新href=javascript:void0 2.更新onclick=function1;返回false 注意:我没有使用诸如jQuery或Dojo之类的JavaScript库。[编辑] 您可以在事件
<a href="#" onclick="function1()">link</a>
javascript函数1包括提交表单操作
现在我想使用JavaScript来阻止Ctrl+鼠标点击打开IE>=6、FF和Chrome链接上的新选项卡
更新以修复
1.更新href=javascript:void0
2.更新onclick=function1;返回false
注意:我没有使用诸如jQuery或Dojo之类的JavaScript库。[编辑]
您可以在事件的函数onclick中执行任何您想执行的操作,而完全不使用href。对于鼠标悬停光标效果,请使用style=cursor:pointer
示例代码:
<html>
<head>
<title></title>
<script type="text/javascript">
function fn(){
/* do something */
}
</script>
</head>
<body>
<a style="cursor:pointer" onclick="fn()">1234</a>
</body>
</html>
如果要在单击元素时执行函数,请使用div标记而不是锚定标记
<div onclick="function1()" style="cursor:pointer">link</div>
编辑:div标记是块元素,将链接推送到新行。正如Jan所建议的,将样式移动到CSS。这里使用内联样式以方便使用
<span onclick="function1()" style="cursor:pointer">link</span>
标记用于链接或引用。如果你主要想要一个可点击的功能,我建议你使用button标签,把它设计成css链接 例如,bootstrap使用btn链接类执行此操作:
<button type="button" onclick="function()" class="btn btn-link">Link</button>
与使用span或div元素相比,这有一个优势,即浏览器可以清楚地看到,搜索机器和屏幕阅读器,这应该是一个可点击的元素。AFAIK因为没有目标页面,它不会用Ctrl+鼠标点击打开一个新标签。为什么你认为你的网站如此特殊,以至于它可以改变用户期望的行为?如果你不关闭,我担心对SEO的影响注意询问者的目标URL。不想改变地址。我不知道为什么这里的人愤怒,不客观。如果他想这么做呢?劝阻他,告诉他解决办法。如果他还想应用它,失去客户就要靠他自己了。他不想更改URL!看看链接指向哪里。你误解了这个问题。如果你删除href,这不会阻止用户通过键盘访问链接吗?此外,我担心如果你不这样做会对搜索引擎优化产生影响。是的,搜索引擎优化是一个问题,但我认为他在这里试图做的是在点击时执行一个功能,而不一定打开一个页面。不知道为什么人们会投反对票。你需要了解他想要什么。他不想打开网页。请使用div标记而不是锚定标记-或任何其他元素。另外请注意,内联样式是不好的做法。即使没有href的a也会破坏浏览器对a[href]的默认样式。这与我的答案有什么不同?