【发布时间】:2017-02-22 01:33:36
【问题描述】:
我使用以下方法在我的应用程序中禁用了右键单击:
<body oncontextmenu="return false;">
我有一个启用了拼写检查的 textarea 元素。我希望能够在此字段中右键单击(用于拼写检查),但我希望在应用程序的其他任何地方都禁用右键单击。
我做了以下事情:
<textarea onfocus="rightclickon()" onblur="rightclickoff()" spellcheck="true"></textarea>
这些是函数:
function rightclickon() {
$('body').prop('oncontextmenu', 'null');
}//end rightclickon
function rightclickoff() {
$('body').prop('oncontextmenu', 'return false');
}//end rightclickoff
我上面的逻辑是,每当用户进入文本区域时,右键单击将被启用,但当他们离开该字段时,它将再次被禁用。这不符合我的预期。
第一部分起作用(当用户进入该字段时启用右键单击)。但是,当该字段离开时,右键单击不会再次被禁用。它只是保持打开状态。
他们是实现我想要的更简单的方法吗?
【问题讨论】:
-
为什么要禁用右键?
-
让 HTML 应用更像一个“应用”而不是网站。
-
禁用浏览器上下文菜单对用户来说很烦人。这样做很少有充分的理由,想要获得某种“感觉”也不是充分的理由。精通技术的用户无论如何都可以绕过它。
标签: javascript jquery html right-click