Javascript 如何在某些html页面上禁用右键单击,但有一些例外
现在我正在使用此代码禁用右键单击:Javascript 如何在某些html页面上禁用右键单击,但有一些例外,javascript,jquery,Javascript,Jquery,现在我正在使用此代码禁用右键单击: $("body") .attr('ondragstart', 'return false') .attr('onselectstart', 'return false'); var message='Right click is disabled on this page!'; function clickIE4() { if (event.button==2) { alert(messag
$("body")
.attr('ondragstart', 'return false')
.attr('onselectstart', 'return false');
var message='Right click is disabled on this page!';
function clickIE4() {
if (event.button==2) {
alert(message);
return false;
}
}
function clickNS4(e) {
if (document.layers||document.getElementById&&!document.all) {
if (e.which==2||e.which==3) {
alert(message);
return false;
}
}
}
if (document.layers) {
document.captureEvents(Event.MOUSEDOWN);
document.onmousedown=clickNS4;
} else if (document.all&&!document.getElementById) {
document.onmousedown=clickIE4;
}
document.oncontextmenu = new Function('alert(message); return false');
现在,我已经实现了我自己的上下文菜单,当单击某个类为.context
的元素时,我会显示它
我正在使用
因此,我想禁用所有右键单击上下文菜单,除了带有.context
类的菜单。您可以尝试以下操作:
$('body *:not(.context)').on('contextmenu', function (evt) {
evt.preventDefault();
});
编辑:这似乎效果更好:
$(document).on('contextmenu', function (evt) {
if (!$(evt.target).is('.context')) {
evt.preventDefault();
}
});
您可以尝试以下方法:
$('body *:not(.context)').on('contextmenu', function (evt) {
evt.preventDefault();
});
编辑:这似乎效果更好:
$(document).on('contextmenu', function (evt) {
if (!$(evt.target).is('.context')) {
evt.preventDefault();
}
});
使用以下代码段:
var message="Right click is disabled on this page!";
jQuery("*").on("contextmenu", function(e) {
e.stopPropagation();
if ($(this).hasClass("context")) {
alert("Opening custom right-click menu.");
}
else {
alert(message);
}
return false;
});
使用以下代码段:
var message="Right click is disabled on this page!";
jQuery("*").on("contextmenu", function(e) {
e.stopPropagation();
if ($(this).hasClass("context")) {
alert("Opening custom right-click menu.");
}
else {
alert(message);
}
return false;
});
你一定是从某个10年内都没有更新过的地方复制粘贴的。要禁用右键单击,真的没有万无一失的方法。任何人都可以查看您的来源并获取他们想要的任何信息。甚至在Firebug或其他程序中打开它,并实时禁用脚本。除了激怒你的用户,它不会有多大用处。我同意,从可用性的角度来看,这是一个非常糟糕的做法。除了一个可能很恼火的用户,你什么也得不到。你一定是从某个地方复制粘贴了这个东西,而这个地方已经10年没有更新过了。要禁用右键单击,真的没有万无一失的方法。任何人都可以查看您的来源并获取他们想要的任何信息。甚至在Firebug或其他程序中打开它,并实时禁用脚本。除了激怒你的用户,它不会有多大用处。我同意,从可用性的角度来看,这是一个非常糟糕的做法。除了从一个可能恼怒的用户那里,你什么也得不到。