簡體   English   中英

如何在JS中使用函數關閉右鍵單擊功能?

[英]How can I turn right click off and on using functions in JS?

我已使用以下命令在應用程序中禁用了右鍵單擊:

  <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

我上面的邏輯是,每當用戶輸入文本區域時,將啟用右鍵單擊,但是當他們離開該字段時,將再次禁用它。 這不符合我的預期。

第一部分起作用(當用戶輸入字段時,啟用右鍵單擊)。 但是,在保留該字段時,不會再次禁用右鍵單擊。 它仍然存在。

他們是實現我想要的更簡單的方法嗎?

只需檢查事件的起源並決定相應的操作

 document.addEventListener('contextmenu', function(e) { if (!e.target.matches('textarea')) { e.preventDefault() } }, false) 
 <p>Some paragraph</p> <ul> <li>List 1</li> <li>List 2</li> <li>List 3</li> </ul> <textarea>Just try right-clicking in here</textarea> <p>Another paragraph</p> 

有關Element.matches詳細信息,請參見https://developer.mozilla.org/en/docs/Web/API/Element/matches

暫無
暫無

聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.

 
粵ICP備18138465號  © 2020-2024 STACKOOM.COM