JavaScript鼠標(biāo)禁止右鍵禁止打開控制臺(tái)及鍵盤禁用
前言
大家好,今天和大家分享一下在前端js中禁止鼠標(biāo)在瀏覽器中右鍵,禁止鼠標(biāo)選中和禁止鍵盤按鍵。
這個(gè)方法是我在制作一個(gè)單詞考核系統(tǒng)時(shí)所使用到的,因?yàn)樵诳荚嚻陂g如果打開控制臺(tái),通過控制臺(tái)找到了正確的答案,那么就沒有意義了。
所以就需要將控制臺(tái)禁用,所應(yīng)用到的也是一些基礎(chǔ)的知識(shí),下面我們就一起來看一看吧!
一、禁用
1. 禁用鼠標(biāo)右鍵
document.oncontextmenu = new Function("event.returnValue=false");
oncontextmenu是JavaScript中的一個(gè)事件屬性,用于在用戶右擊鼠標(biāo)時(shí)觸發(fā)相應(yīng)的事件處理程序。當(dāng)用戶右擊鼠標(biāo)時(shí),瀏覽器會(huì)顯示一個(gè)上下文菜單,該屬性可以用于阻止默認(rèn)的上下文菜單行為,或者自定義右鍵菜單的行為。
2. 禁用鼠標(biāo)選中
document.onselectstart = new Function("event.returnValue=false");
onselectstart是一個(gè)事件處理程序?qū)傩裕谟脩糸_始選擇文本時(shí)觸發(fā)。它可以用于防止用戶選擇文本或在拖動(dòng)元素時(shí)選擇文本。
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中的事件處理程序,它在用戶按下鍵盤上的任何鍵時(shí)觸發(fā)??梢詫nkeydown事件與JavaScript函數(shù)一起使用,以便在用戶按下鍵時(shí)執(zhí)行某些操作。例如,可以使用onkeydown事件來捕獲用戶按下Enter鍵并提交表單。
可以根據(jù)自己的需要來禁用按鍵,這個(gè)是我的項(xiàng)目需要所以加了禁用其它的鍵盤按鍵,上面的這個(gè)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é)
最后偷偷的告訴大家,還有一個(gè)可以打開控制臺(tái)的方法,哪就是在刷新瀏覽器頁面時(shí)同時(shí)按下F12,這樣也是可以打開的,所以在這個(gè)項(xiàng)目中我對(duì)刷新也做了一些操作。
這個(gè)打開控制臺(tái)的方法大家可以試一下,但是要先把F12給禁止了,不然搞錯(cuò)了還不知道,這個(gè)方法不是特別容易打開,要多嘗試幾次。
以上就是本章的全部?jī)?nèi)容了,感謝您的閱讀,希望能夠幫助到您。
到此這篇關(guān)于JavaScript鼠標(biāo)禁止右鍵禁止打開控制臺(tái)及鍵盤禁用的文章就介紹到這了,更多相關(guān)js鼠標(biāo)禁止右鍵禁止打開控制臺(tái)內(nèi)容請(qǐng)搜索腳本之家以前的文章或繼續(xù)瀏覽下面的相關(guān)文章希望大家以后多多支持腳本之家!
相關(guān)文章
原生Javascript實(shí)現(xiàn)五角星評(píng)分
這篇文章主要為大家詳細(xì)介紹了原生Javascript實(shí)現(xiàn)五角星評(píng)分,文中示例代碼介紹的非常詳細(xì),具有一定的參考價(jià)值,感興趣的小伙伴們可以參考一下2022-09-09jsp+javascript打造級(jí)連菜單的實(shí)例代碼
jsp+javascript打造級(jí)連菜單的實(shí)例代碼,需要的朋友可以參考一下2013-06-06小議Function.apply() 之一------(函數(shù)的劫持與對(duì)象的復(fù)制)
小議Function.apply() 之一------(函數(shù)的劫持與對(duì)象的復(fù)制)...2006-11-11JS前端千萬級(jí)彈幕數(shù)據(jù)循環(huán)優(yōu)化示例
這篇文章主要為大家介紹了JS前端一千萬條彈幕數(shù)據(jù)循環(huán)優(yōu)化示例詳解,有需要的朋友可以借鑒參考下,希望能夠有所幫助,祝大家多多進(jìn)步,早日升職加薪2022-07-07JavaScript如何實(shí)現(xiàn)對(duì)數(shù)字保留兩位小數(shù)一位自動(dòng)補(bǔ)零
本文給大家介紹基于JavaScript如何實(shí)現(xiàn)對(duì)數(shù)字保留兩位小數(shù)一位自動(dòng)補(bǔ)零的實(shí)例代碼,代碼簡(jiǎn)單易懂,感興趣的朋友一起學(xué)習(xí)吧2015-12-12Javascript類庫的頂層對(duì)象名用戶體驗(yàn)分析
針對(duì)jQuery、Ext、KISSY三者類庫的對(duì)比及分析已經(jīng)很多了,但多數(shù)是從功能和設(shè)計(jì)的角度切入,因此本篇文章決定換一個(gè)特殊的角度,從各類庫的頂層對(duì)象名的鍵盤輸入的體驗(yàn)上來對(duì)這三個(gè)類庫進(jìn)行比較。2010-10-10Javascript類型系統(tǒng)之String字符串類型詳解
這篇文章主要介紹了Javascript類型系統(tǒng)之String字符串類型詳解的相關(guān)資料,需要的朋友可以參考下2016-06-06鼠標(biāo)經(jīng)過顯示二級(jí)菜單js特效
本文章來給大家推薦一個(gè)不錯(cuò)的鼠標(biāo)經(jīng)過顯示二級(jí)菜單js特效效果,有需要了解的朋友可以參考一下2013-08-08eclipse如何忽略js文件報(bào)錯(cuò)(附圖)
eclipse中js文件報(bào)錯(cuò)的情況,或許大家早已習(xí)以為常了,那么有什么好的方法可以將其忽略掉呢?如果你也在尋找此問題,那么本文或許可以幫助到你2013-10-10