js屏蔽事件和解除事件

屏蔽事件:

   

  屏蔽选中、双击复制        该方法仅能屏蔽元素外的值:

document.onselectstart = function() {
    return false;
}

  屏蔽选中、双击复制、获取焦点:

document.onmousedown= function() {
    return false;
}

  屏蔽点击、选中(仅能屏蔽元素内的值)、获取焦点、悬浮事件(终极解决方案):

document.querySelectorAll('*').forEach(v => {
    v.style.pointerEvents = 'none'
})

或使用CSS 

* {
  pointer-events: none;
}

  屏蔽右键:

document.oncontextmenu = function() {
    return false;
}

  屏蔽复制:

document.oncopy = function(event) {
    return false;
}

  屏蔽粘贴:

document.onpaste= function(event) {
    return false;
}

  屏蔽剪切:

document.oncut= function(event) {
    return false;
}

  屏蔽F12:

document.onkeydown = function() {
    if (window.event.keyCode == 123) {
        alert("小样,你想干嘛");
        return false;
    }
}

  所有屏蔽代码:

document.onselectstart = function() {
    return false;
}

document.οnmοusedοwn= function() {
    return false;
}

document.querySelectorAll('*').forEach(function(v) {
    v.style.pointerEvents = 'none'
})

document.oncontextmenu = function() {
    return false;
}

document.oncopy = function(event) {
    return false;
}

document.οnpaste= function(event) {
    return false;
}

document.oncut= function(event) {
    return false;
}

document.onkeydown = function() {
    if (window.event.keyCode == 123) {
        alert("小样,你想干嘛");
        return false;
    }
}

 压缩后:

document.onselectstart=function(){return false};document.onmousedown=function(){return false};document.querySelectorAll("*").forEach(function(v){v.style.pointerEvents="none"});document.oncontextmenu=function(){return false};document.oncopy=function(event){return false};document.onpaste=function(event){return false};document.oncut=function(event){return false};document.onkeydown=function(){if(window.event.keyCode==123){alert("小样,你想干嘛");return false}};

 解除限制:

(function() {
    function remove(event) {
        onevent = "on" + event;
        if (window.addEventListener) {
            window.addEventListener(event, function(e) {
                for (var n = e.originalTarget; n; n = n.parentNode) {
                    n[onevent] = null;
                }
            }, true);
        }
        window[onevent] = null;
        document[onevent] = null;
        if (document.body) {
            document.body[onevent] = null;
        }
    }
    remove("selectstart")
    remove("mousedown");
    document.querySelectorAll("*").forEach(function (v) {
      v.style.pointerEvents = "auto"
    });
    remove("contextmenu");
    remove("copy");
    remove("paste");
    remove("cut");
    remove("keydown");
    
    remove("click");
    remove("mouseup");
})();

 压缩后:

(function(){function remove(event){onevent="on"+event;if(window.addEventListener){window.addEventListener(event,function(e){for(var n=e.originalTarget;n;n=n.parentNode){n[onevent]=null}},true)}window[onevent]=null;document[onevent]=null;if(document.body){document.body[onevent]=null}}remove("selectstart");remove("mousedown");document.querySelectorAll("*").forEach(function(v){v.style.pointerEvents="auto"});remove("contextmenu");remove("copy");remove("paste");remove("cut");remove("keydown");remove("click");remove("mouseup")})();

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包

打赏作者

风流倜傥唐伯虎

你的鼓励将是我创作的最大动力

¥1 ¥2 ¥4 ¥6 ¥10 ¥20
扫码支付:¥1
获取中
扫码支付

您的余额不足,请更换扫码支付或充值

打赏作者

实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

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

余额充值