【问题标题】:Disabling right click contextmenu with trigger to enable it back使用触发器禁用右键单击上下文菜单以启用它
【发布时间】:2019-05-22 08:28:47
【问题描述】:

我希望能够禁用我网站上的右键菜单,我正在执行以下操作:

document.addEventListener("contextmenu", function(e){e.preventDefault(); }, false);

如何重新启用右键单击,例如当用户单击页面上其他位置的按钮时?也许像

function() {
  $('body').unbind();
}

谢谢,下面的代码很好用:

HTML

<div class="listener">
    <button onclick="stopjs()" id="stop">Stop</button>
</div>

JavaScript 代码

function prevent(e) {
    console.log('preventing');
    e.preventDefault();
}

document.addEventListener("contextmenu", prevent);

function stopjs() {
    document.removeEventListener("contextmenu", prevent);
}

【问题讨论】:

    标签: javascript html right-click


    【解决方案1】:

    您必须保存对传递给 addEventListener 的函数的引用,然后您可以稍后将其删除:

    function prevent(e) {
      console.log('preventing');
      e.preventDefault();
    }
    document.addEventListener("contextmenu", prevent);
    
    setTimeout(() => {
      document.removeEventListener("contextmenu", prevent);
    }, 3000);

    【讨论】:

    • 我不太懂.js,整个代码看起来怎么样,重新启用按钮会用css隐藏,所以只有某些人会知道!谢谢!
    • 只需为该按钮添加一个点击监听器,而不是使用setTimeout,例如btn.onclick = () =&gt; ...
    猜你喜欢
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 2021-06-17
    • 1970-01-01
    相关资源
    最近更新 更多