【js】鼠标禁止右键禁止打开控制台及键盘禁用

这篇具有很好参考价值的文章主要介绍了【js】鼠标禁止右键禁止打开控制台及键盘禁用。希望对大家有所帮助。如果存在错误或未考虑完全的地方,请大家不吝赐教,您也可以点击"举报违法"按钮提交疑问。


前言

大家好,今天和大家分享一下在前端js中禁止鼠标在浏览器中右键,禁止鼠标选中和禁止键盘按键。
这个方法是我在制作一个单词考核系统时所使用到的,因为在考试期间如果打开控制台,通过控制台找到了正确的答案,那么就没有意义了。
所以就需要将控制台禁用,所应用到的也是一些基础的知识,下面我们就一起来看一看吧!

一、禁用

1. 禁用鼠标右键

document.oncontextmenu = new Function("event.returnValue=false");

oncontextmenu是JavaScript中的一个事件属性,用于在用户右击鼠标时触发相应的事件处理程序。当用户右击鼠标时,浏览器会显示一个上下文菜单,该属性可以用于阻止默认的上下文菜单行为,或者自定义右键菜单的行为。

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给禁止了,不然搞错了还不知道,这个方法不是特别容易打开,要多尝试几次。
以上就是本章的全部内容了,感谢您的阅读,希望能够帮助到您。文章来源地址https://www.toymoban.com/news/detail-499275.html

到了这里,关于【js】鼠标禁止右键禁止打开控制台及键盘禁用的文章就介绍完了。如果您还想了解更多内容,请在右上角搜索TOY模板网以前的文章或继续浏览下面的相关文章,希望大家以后多多支持TOY模板网!

本文来自互联网用户投稿,该文观点仅代表作者本人,不代表本站立场。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如若转载,请注明出处: 如若内容造成侵权/违法违规/事实不符,请点击违法举报进行投诉反馈,一经查实,立即删除!

领支付宝红包 赞助服务器费用

相关文章

  • 如何使用JS拦截并禁止用户复制、剪切、粘贴、鼠标右键(含破解方法)

    想必大家经常会遇到这样的需求,禁止用户复制、剪切、另存为、鼠标右键的操作等。今天一篇文章学会拦截并禁止用户特定操作及破解方法。正所谓道高一尺魔高一丈啊能禁止也能破解 在相关dom标签上给元素onselectstart 赋值为return false 或者在script中写类似下面这种代码:

    2024年02月12日
    浏览(42)
  • 【VScode】使用VScode内置的调试控制台来调试JS

    在 TEST 文件夹下有一个 javascript.js 文件,里面有一段 JS 代码,我想用 VScode 内置控制台打断点 1、切换到【运行和调试】,首次需要添加配置,设置 launch.json 文件。  2、launch.json 文件配置如下,注意 program 配置成 ${file},表示 是 当前打开的文件 ,这样一来我们每切换到另

    2024年02月12日
    浏览(50)
  • 实现js程序在vscode控制台输出的方法(看完方便多了)

    当我们想要写一段js代码时,我们可能会在vscode中新建一个html文件,然后再script标签下去编写js代码,完了之后我们想要看看js打印输出的效果,还会通过浏览器的 F12 去查看输出结果。好麻烦呀~ 如何解决呢? 我们可以在vscode中安装一个插件 code runner  然后在设置中找到 se

    2024年01月21日
    浏览(61)
  • 谷歌浏览器最新版本进行控制台调试js代码时候无法显示代码行数问题解决

    谷歌浏览器最新版本进行控制台调试js代码时候无法显示代码行数问题解决 最新版本谷歌浏览器进行了自动设置关闭那个功能,要自己去设置 解决方法 后面叉掉,重新进行js代码调试看看,如下: 代码行数出来,问题解决

    2024年02月12日
    浏览(63)
  • js中控制台报错:Uncaught TypeError: Cannot read properties of undefined (reading ‘appendChild‘)

    控制台错误提示为: 意思是:未捕获的类型错误: 无法读取未定义的属性(读取‘ appendchild’) 也就是说,你在使用appendChild时的父元素上没有这个属性,所以没法使用。 此时,需要检查你获取元素是否有误,或者是逻辑问题。 此时我的js代码为:(只展示引起错误的部分)

    2024年02月15日
    浏览(46)
  • 当vue项目运行时,控制台出现“WebSocketClient.js:13 WebSocket connection to ‘ws://10.10.244.95:8080/ws‘ failed: E”

    当vue项目运行时,在控制台出现这些代码: 不要慌,小场面 是开发环境与生产环境的区别导致出现的问题  如果没使用过webscoket,禁用之后就可以了,就不会出现这个问题了。 devServer: {         webSocketServer:false,         //  其他配置 } 或者输入这些代码解决(代码网上

    2024年02月03日
    浏览(49)
  • uniapp(vue3) - 微信小程序平台使用import引入外部js文件出现undefined,正常引入js文件(sdk插件)文件路径正确但console.log控制台打印时却是undefined

    注:uniapp 小程序平台! 在使用 uniapp 微信小程序端导入 SDK 的过程中,您可能会遇到这样的情况: 使用 console.log() 打印导入的模块名称时,实际输出的名称并不是您期望的名称。这是因为 uniapp 进行了编译和打包处理后,会将代码重新命名以减小文件大小和提高执行效率,包

    2024年02月10日
    浏览(87)
  • JavaScript-----禁止鼠标选中文字和禁止鼠标右键上下文菜单

     selectstart   开始选中 还有一些别的方法,可以参考一下: 禁止鼠标右键 οncοntextmenu=\\\"return false\\\" 禁止选择 onselectstart=\\\"return false\\\" 禁止拖放 οndragstart=\\\"return false\\\" 禁止拷贝 οncοpy=document.selection.empty() 禁止复制 oncopy = \\\"return false\\\" 禁止粘贴 input type=text οnpaste=\\\"return false\\\" 禁止剪贴

    2024年02月10日
    浏览(52)
  • 浏览器控制台调试代码和JavaScript控制台方法介绍

    浏览器控制台调试代码 浏览器控制台(Console)是浏览器提供的一个开发工具,用于在浏览器中执行和调试 JavaScript 代码。它提供了一个交互式环境,可以输入 JavaScript 代码,并立即看到代码执行结果或输出信息。 在大部浏览器中,可以通过按下 F12 键或右键点击网页并选择

    2024年02月03日
    浏览(95)
  • docker rabbitmq控制台访问失败,rabbitmq控制台访问不了

    1. docker-compose配置内容: 2. 映射文件夹一定要赋予权限 不然程序启动无法写入数据:     3. log日志: 4. 日志看着已经启动了, 其实还没有。手动进入容器,启动管理插件 5. 命令:  6. 再次访问:      虚拟机:虚拟机ip:15672     本地则是:127.0.0.1:15672

    2024年01月18日
    浏览(62)

觉得文章有用就打赏一下文章作者

支付宝扫一扫打赏

博客赞助

微信扫一扫打赏

请作者喝杯咖啡吧~博客赞助

支付宝扫一扫领取红包,优惠每天领

二维码1

领取红包

二维码2

领红包