11

在右键单击菜单中的超链接上,如何删除或隐藏“在新选项卡中打开”和“在新窗口中打开”选项?

例如

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

3 回答 3

24

不知道为什么要这样做,但可以通过将 移动hrefdata-href属性,然后删除href并添加点击处理程序来完成。onclick 将读取data-href并重定向。

演示

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");
    };
}

右键菜单显示:

在此处输入图像描述

于 2013-06-18T12:57:11.330 回答
2

您可以使用 javascript 链接而不是普通的 html 链接。只需执行 href="javascript:void(0)" 并处理单击事件即可重定向页面。这不会删除在另一个选项卡中打开的选项,但会确保页面在尝试时实际上不会打开。

此外,您可以使用另一个标签来代替 HTML 标签,并给它一个 cursor:pointer css 属性和 jquery onclick 以使其像链接一样工作。这将从上下文菜单中完全删除“在另一个选项卡中打开”选项。

于 2013-06-18T12:50:03.903 回答
0

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

<script language="javascript">
$("a").click(function(event)
{
  if(event.button==2)
   {
     return false;    
   }
});
</script>
于 2013-06-18T12:50:03.343 回答