[英]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.