Warning: file_get_contents(/data/phpspider/zhask/data//catemap/9/javascript/426.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
Javascript 如何防止Ctrl+鼠标单击打开新选项卡?_Javascript - Fatal编程技术网

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]的默认样式。这与我的答案有什么不同?