如何禁用右键单击html中的超链接

时间:2011-05-19 05:28:52

标签: html html5

我需要禁用右键单击跨度中的超链接。我需要禁用整个页面中的一个链接。有什么建议吗?

7 个答案:

答案 0 :(得分:28)

如果您不想在超链接上显示上下文菜单,则可以不对其他部分执行任何操作,甚至可以跨越存在的位置。我在IE浏览器中测试过,它可以运行。

<a href="#" oncontextmenu="return false;"> Link </a>

答案 1 :(得分:6)

这应该有效:

oncontextmenu=”return false;”     

将其放在要禁用右键单击的任何元素上。
请注意,这会导致糟糕的用户体验,用户可以非常轻松地将其禁用 免责声明:未经测试。

答案 2 :(得分:1)

如果您不想使用内联事件污染HTML,并且您关心支持IE&lt; 9,你可以用这个可爱的烂摊子:

function addEvent (el, eventType, listener) {
    if (el.addEventListener) { // W3C-compliant
        el.addEventListener(eventType, listener, false);
    }
    else {// IE-specific
        el.attachEvent('on'+eventType, listener);
    }
}
addEvent(document.getElementById('myLinkID'), 'contextmenu', function (e) {
    if (e.preventDefault) { // W3C
        e.preventDefault();
    }
    else { // IE
        e.returnValue = false;
    }
});

答案 3 :(得分:0)

我从未见过通过HTML完成的(这并不意味着它是不可能的)。但是,JavaScript可以帮助您。

您可以执行以下操作:

var eventbutton = (isNS) ? myevent.which : myevent.button;
if((eventbutton==2)||(eventbutton==3)) return false;

答案 4 :(得分:0)

试试这个oncontextmenu="return false;"

答案 5 :(得分:0)

IN MVC:

@ Html.ActionLink(“print page”,“myprint”,“print”,null,new {@ oncontextmenu =“return false;”})

答案 6 :(得分:0)

您还可以使用jQuery:

    $(".myHyperlinks").contextmenu(function () { return false; });