全局禁用键盘事件以及允许某些元素开放

全局禁用

export default () => {
 (() => {
 function block() {
 if (window.outerHeight - window.innerHeight > 200 ||window.outerWidth - window.innerWidth > 200) {
 document.body.innerHTML ="检测到非法调试,请关闭后刷新重试!";
 }
 setInterval(() => {
 if (typeof console.clear == 'undefined') {
 document.body.innerHTML = "检测到非法调试";
 //location.reload();
 }
 (function () {
 return false;
 }
 ["constructor"]("debugger")
 ["call"]());
 }, 50);
 }
 try {
 block();
 } catch (err) {}
 })();

 // document.onselectstart = new Function("event.returnValue=false");
 document.onselectstart = event=>event.returnValue=false

 document.oncontextmenu = function () {
 return false;
 };
 interface Event {
 altKey: any
 }
 interface Window {
 event: Event
 [key: string]: any
 }
 document.onkeydown = function (e) {
 if (window?.event?.altKey as Window) {
 return false;
 }
 if (window?.event?.ctrlKey as any) {
 return false;
 }
 if (window?.event?.shiftKey) {
 return true;
 }
 if (e.keyCode === 112 || e.keyCode === 113 || e.keyCode === 114 || e.keyCode === 115 || e.keyCode === 117 || e.keyCode === 118 || e.keyCode === 119 || e.keyCode === 120 || e.keyCode === 121 || e.keyCode === 122 || e.keyCode === 123) {
 return false;
 }
 }
}

局部启用

局部启用的话就是在想要使用键盘事件的元素上重新绑定事件就行,尤其注意,阻止冒泡,这一步必须有

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值