我想禁用右键单击图像。当用户右键单击图像时,我希望它显示一条消息(请运行下面的代码段)。
在下面的代码中,我有两张图片。如果我右键单击图像的顶部,它会弹出一个窗口并显示“不允许右键单击”。但是,如果我向下滚动并右键单击图像,则会在网站底部显示此弹出窗口。
你能告诉我如何让这个弹出窗口在我右键单击的地方打开吗? (例如,如果我右键单击第二张图片,这个弹出窗口甚至不会出现)。
<script>
if (document.getElementById('test1').addEventListener) {
document.getElementById('test1').addEventListener('contextmenu', function(e) {
$("#rmenu").toggleClass("hide");
$("#rmenu").css({
position: "fixed",
top: e.pageY,
left: e.pageX
});
e.preventDefault();
}, false);
}
$(document).bind("click", function(event) {
document.getElementById("rmenu").className = "hide";
});
</script>
答案 0 :(得分:1)
用 position: absolute
代替 position: fixed
。这里:
...
$("#rmenu").css({
position: "absolute",
top: e.pageY,
left: e.pageX
});
...
答案 1 :(得分:-1)
好吧,我建议您将图像或整个 HTML 页面转换为画布。如果目的是隐藏代码或不下载图像。