我需要禁用右键单击跨度中的超链接。我需要禁用整个页面中的一个链接。有什么建议吗?
答案 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; });