一尘不染

如何在JavaScript中禁用右键单击上下文菜单

javascript

这并不是说我要防止“查看源代码”或类似的愚蠢行为,而是要为某些元素制作一些自定义上下文菜单。

编辑:答案的答复:我已经尝试过:

<a id="moo" href=''> </a>

<script type="text/javascript">
    var moo = document.getElementById('moo');

    function handler(event) {
        event = event || window.event;

        if (event.stopPropagation)
            event.stopPropagation();

        event.cancelBubble = true;
        return false;
    }

    moo.innerHTML = 'right-click here';

    moo.onclick = handler;
    moo.onmousedown = handler;
    moo.onmouseup = handler;
</script>

阅读 306

收藏
2020-05-01

共2个答案

一尘不染

捕获onContextMenu事件,然后在事件处理程序中返回false。

event.button无论如何,您也可以在某些浏览器中捕获click事件并使用哪个鼠标按钮触发该事件。

2020-05-01
一尘不染

如果您不希望每次尝试右键单击时都向用户发出消息提醒,请尝试将其添加到您的正文标签中

<body oncontextmenu="return false;">

这将阻止所有对上下文菜单的访问(不仅是鼠标右键,还有键盘)

但是,添加右键单击禁用器确实没有意义。具有浏览器基础知识的任何人都可以查看源并提取所需的信息。

2020-05-12