如何禁用或隐藏超链接的“在新标签页中打开”选项

时间:2013-06-18 12:44:17

标签: javascript

在右键菜单中的超链接上,如何删除或隐藏在新标签页中打开在新窗口中打开选项?

例如

<a href="#" onclick="asd">foo</a>

3 个答案:

答案 0 :(得分:24)

不确定您为什么要这样做,但可以将href移至data-href属性,然后删除href并添加点击处理程序。 onclick将读取data-href并重定向。

Demo

var links = document.getElementsByTagName("a");

for(var i=0; i<links.length; i++){
    links[i].setAttribute("data-href", links[i].getAttribute("href"));
    links[i].removeAttribute("href");
    links[i].onclick = function(){
        window.location = this.getAttribute("data-href");
    };
}

右键菜单显示:

enter image description here

答案 1 :(得分:1)

您可以使用javascript链接而不是纯HTML链接。只需执行href =“javascript:void(0)”并处理click事件以重定向页面。这不会删除在另一个标签中打开的选项,但会确保在尝试时页面实际上没有打开。

也可以使用另一个标签代替HTML标签,并为其指定游标:指针css属性和jquery onclick,使其像链接一样工作。这将从上下文菜单中完全删除“在另一个选项卡中打开”选项。

答案 2 :(得分:0)

你可以使用以下代码来完成。

<script language="javascript">
$("a").click(function(event)
{
  if(event.button==2)
   {
     return false;    
   }
});
</script>