Javascript 如何使用JS中的函数关闭和打开右键单击?

Javascript 如何使用JS中的函数关闭和打开右键单击?,javascript,jquery,html,right-click,Javascript,Jquery,Html,Right Click,我已在我的应用程序中使用以下命令禁用右键单击: <body oncontextmenu="return false;"> <textarea onfocus="rightclickon()" onblur="rightclickoff()" spellcheck="true"></textarea> 我的逻辑是,每当用户进入文本区域时,右键单击将被启用,但当他们离开该字段时,它将再次被禁用。这不符合我的预期 第一部分工作(ueser进入字段时启用右

我已在我的应用程序中使用以下命令禁用右键单击:

  <body oncontextmenu="return false;">
  <textarea onfocus="rightclickon()" onblur="rightclickoff()" spellcheck="true"></textarea>
我的逻辑是,每当用户进入文本区域时,右键单击将被启用,但当他们离开该字段时,它将再次被禁用。这不符合我的预期

第一部分工作(ueser进入字段时启用右键单击)。但是,当字段处于左侧时,不会再次禁用右键单击。它一直开着


他们是实现我想要的更容易的方法吗?

只需检查事件的起源并决定相应的操作

document.addEventListener('contextmenu',函数(e){
如果(!e.target.matches('textarea')){
e、 预防默认值()
}
},false)
某个段落

  • 清单1
  • 清单2
  • 清单3
试试右击这里
另一个段落

只需检查事件的起源,并决定相应的操作

document.addEventListener('contextmenu',函数(e){
如果(!e.target.matches('textarea')){
e、 预防默认值()
}
},false)
某个段落

  • 清单1
  • 清单2
  • 清单3
试试右击这里
另一段

为什么要禁用右键单击?使HTML应用程序更像一个“应用程序”,而不是一个网站。禁用浏览器上下文菜单对用户来说很烦人。很少有好的理由这样做,想要获得某种“感觉”也不是好的理由。而精通技术的用户无论如何都可以绕过它。为什么要禁用右键单击?让HTML应用更像是一个“应用”,而不是一个网站。禁用浏览器上下文菜单对用户来说很烦人。很少有好的理由这样做,想要获得某种“感觉”也不是好的理由。而且精通技术的用户无论如何都可以绕过它。有趣的是,如果你在Firefox中按住shift键,右键单击Perfect时会显示上下文菜单!这正是我要找的。@MatthewLock是的,通常有很多网站试图阻止右键点击,但这永远不应该实现。。。一些用户组会因此讨厌你。反正+1@ChristianGollhardt同意。我想把这个答案更多地看作是确定性事件处理的指南,有趣的是,如果你在Firefox中按住shift键,右键单击完美时,它确实会显示上下文菜单!这正是我要找的。@MatthewLock是的,通常有很多网站试图阻止右键点击,但这永远不应该实现。。。一些用户组会因此讨厌你。反正+1@ChristianGollhardt同意。我想把这个答案看作是确定性事件处理的指南
function rightclickon() {
$('body').prop('oncontextmenu', 'null');
}//end rightclickon
function rightclickoff() {
$('body').prop('oncontextmenu', 'return false');
}//end rightclickoff