如何防止Ctrl +鼠标单击打开新标签?

时间:2013-06-27 02:50:24

标签: javascript

我的链接如下

<a href="#" onclick="function1()">link</a>

和javascript function1包含提交表单操作

现在我想使用JavaScript来阻止 Ctrl +鼠标点击在这个IE(&gt; = 6),FF和Chrome的链接上打开新标签。

更新以修复
1.更新href =“javascript:void(0)”
2. update onclick =“function1(); return false;”

注意:我没有使用jQuery或Dojo等JavaScript库。

3 个答案:

答案 0 :(得分:1)

A标签用于链接或引用。如果您主要想要可点击的功能,我建议您使用button标记并将其样式设置为与CSS链接一样。

例如,引导程序使用btn-link类执行此操作:

<button type="button" onclick="function()" class="btn btn-link">Link</button>

与使用span或div元素相比,它的优势在于,浏览器,搜索器和屏幕阅读器都清楚这应该是可单击的元素。

答案 1 :(得分:0)

<强> [编辑]

您可以在活动的功能(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>

答案 2 :(得分:0)

如果要在单击元素时执行函数,请使用div标记而不是锚标记

<div onclick="function1()" style="cursor:pointer">link</div>

编辑:div标签是一个块元素,将链接推送到新行。并且Jan已经建议将样式移动到CSS。在这里使用内联样式。

<span onclick="function1()" style="cursor:pointer">link</span>