前端js中禁止鼠标在浏览器中右键,禁止鼠标选中和禁止键盘按键
一、禁用
1. 禁用鼠标右键
document.oncontextmenu = new Function("event.returnValue=false");
2. 禁用鼠标选中
document.onselectstart = new Function("event.returnValue=false");
onselectstart是一个事件处理程序属性,它在用户开始选择文本时触发。它可以用于防止用户选择文本或在拖动元素时选择文本。
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中的事件处理程序,它在用户按下键盘上的任何键时触发。可以将onkeydown事件与JavaScript函数一起使用,以便在用户按下键时执行某些操作。例如,可以使用onkeydown事件来捕获用户按下Enter键并提交表单。
可以根据自己的需要来禁用按键,这个是我的项目需要所以加了禁用其它的键盘按键,上面的这个ctrl+shift+i也是可以打开浏览器的。
所有代码
// 1.禁用右键菜单document.oncontextmenu = new Function("event.returnValue=false");// 2.禁用鼠标选中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; }}
最后偷偷的告诉大家,还有一个可以打开控制台的方法,哪就是在刷新浏览器页面时同时按下F12,这样也是可以打开的,所以在这个项目中我对刷新也做了一些操作。这个打开控制台的方法大家可以试一下,但是要先把F12给禁止了,不然搞错了还不知道,这个方法不是特别容易打开,要多尝试几次