JavaScript鼠標(biāo)禁止右鍵禁止打開控制臺及鍵盤禁用
前言
大家好,今天和大家分享一下在前端js中禁止鼠標(biāo)在瀏覽器中右鍵,禁止鼠標(biāo)選中和禁止鍵盤按鍵。
這個方法是我在制作一個單詞考核系統(tǒng)時所使用到的,因為在考試期間如果打開控制臺,通過控制臺找到了正確的答案,那么就沒有意義了。
所以就需要將控制臺禁用,所應(yīng)用到的也是一些基礎(chǔ)的知識,下面我們就一起來看一看吧!
一、禁用
1. 禁用鼠標(biāo)右鍵
document.oncontextmenu = new Function("event.returnValue=false");
oncontextmenu是JavaScript中的一個事件屬性,用于在用戶右擊鼠標(biāo)時觸發(fā)相應(yīng)的事件處理程序。當(dāng)用戶右擊鼠標(biāo)時,瀏覽器會顯示一個上下文菜單,該屬性可以用于阻止默認(rèn)的上下文菜單行為,或者自定義右鍵菜單的行為。
2. 禁用鼠標(biāo)選中
document.onselectstart = new Function("event.returnValue=false");
onselectstart是一個事件處理程序?qū)傩?,它在用戶開始選擇文本時觸發(fā)。它可以用于防止用戶選擇文本或在拖動元素時選擇文本。
3. 禁用鍵盤F12
document.addEventListener("keydown", function (e) { console.log(e。key); if (e.key == "F12") { e.preventDefault(); // 如果按下鍵F12,阻止事件 } });
除了上面的寫法外還有其他的一些寫法。
document.onkeydown = () => { console.log(window.event.keyCode); for (let i = 9; i < 47; i++) { if (window.event && window.event.keyCode == i) { return false; } } for (let i = 58; i < 65; i++) { if (window.event && window.event.keyCode == i) { return false; } } for (let i = 91; i < 300; i++) { if (window.event && window.event.keyCode == i) { return false; } } // 禁用ctrl+shift+i if (window.event.ctrlKey && window.event.shiftKey && window.event.keyCode == 73) { return false; } if (window.event.shiftKey) { return false; } // 禁用ctrl+r if (window.event.ctrlKey && window.event.keyCode == 82) { return false; } }
onkeydown是JavaScript中的事件處理程序,它在用戶按下鍵盤上的任何鍵時觸發(fā)。可以將onkeydown事件與JavaScript函數(shù)一起使用,以便在用戶按下鍵時執(zhí)行某些操作。例如,可以使用onkeydown事件來捕獲用戶按下Enter鍵并提交表單。
可以根據(jù)自己的需要來禁用按鍵,這個是我的項目需要所以加了禁用其它的鍵盤按鍵,上面的這個ctrl+shift+i也是可以打開瀏覽器的。
二、所有代碼
// 1.禁用右鍵菜單 document.oncontextmenu = new Function("event.returnValue=false"); // 2.禁用鼠標(biāo)選中 document.onselectstart = new Function("event.returnValue=false"); document.onkeydown = () => { console.log(window.event.keyCode); for (let i = 9; i < 47; i++) { if (window.event && window.event.keyCode == i) { return false; } } for (let i = 58; i < 65; i++) { if (window.event && window.event.keyCode == i) { return false; } } for (let i = 91; i < 300; i++) { if (window.event && window.event.keyCode == i) { return false; } } // 禁用ctrl+shift+i if (window.event.ctrlKey && window.event.shiftKey && window.event.keyCode == 73) { return false; } if (window.event.shiftKey) { return false; } // 禁用ctrl+r if (window.event.ctrlKey && window.event.keyCode == 82) { return false; } }
總結(jié)
最后偷偷的告訴大家,還有一個可以打開控制臺的方法,哪就是在刷新瀏覽器頁面時同時按下F12,這樣也是可以打開的,所以在這個項目中我對刷新也做了一些操作。
這個打開控制臺的方法大家可以試一下,但是要先把F12給禁止了,不然搞錯了還不知道,這個方法不是特別容易打開,要多嘗試幾次。
以上就是本章的全部內(nèi)容了,感謝您的閱讀,希望能夠幫助到您。
到此這篇關(guān)于JavaScript鼠標(biāo)禁止右鍵禁止打開控制臺及鍵盤禁用的文章就介紹到這了,更多相關(guān)js鼠標(biāo)禁止右鍵禁止打開控制臺內(nèi)容請搜索腳本之家以前的文章或繼續(xù)瀏覽下面的相關(guān)文章希望大家以后多多支持腳本之家!
相關(guān)文章
小議Function.apply() 之一------(函數(shù)的劫持與對象的復(fù)制)
小議Function.apply() 之一------(函數(shù)的劫持與對象的復(fù)制)...2006-11-11JS前端千萬級彈幕數(shù)據(jù)循環(huán)優(yōu)化示例
這篇文章主要為大家介紹了JS前端一千萬條彈幕數(shù)據(jù)循環(huán)優(yōu)化示例詳解,有需要的朋友可以借鑒參考下,希望能夠有所幫助,祝大家多多進(jìn)步,早日升職加薪2022-07-07JavaScript如何實現(xiàn)對數(shù)字保留兩位小數(shù)一位自動補(bǔ)零
本文給大家介紹基于JavaScript如何實現(xiàn)對數(shù)字保留兩位小數(shù)一位自動補(bǔ)零的實例代碼,代碼簡單易懂,感興趣的朋友一起學(xué)習(xí)吧2015-12-12Javascript類型系統(tǒng)之String字符串類型詳解
這篇文章主要介紹了Javascript類型系統(tǒng)之String字符串類型詳解的相關(guān)資料,需要的朋友可以參考下2016-06-06