为了账号安全,请及时绑定邮箱和手机立即绑定

html网页表单中禁用复制、右键、粘贴、剪切等方法

标签:
JavaScript

在网页开发中,有些时候我们不想让用户去复制或者粘贴该网页的东西,那么下面的几个方法就非常有用了,贡献给大家!

//屏蔽右键菜单  
document.oncontextmenu = function (event){  
    if(window.event){  
        event = window.event;  
    }try{  
        var the = event.srcElement;  
        if (!((the.tagName == "INPUT" && the.type.toLowerCase() == "text") || the.tagName == "TEXTAREA")){  
            return false;  
        }  
        return true;  
    }catch (e){  
        return false;  
    }  
}  

//屏蔽粘贴  
document.onpaste = function (event){  
    if(window.event){  
        event = window.event;  
    }try{  
        var the = event.srcElement;  
        if (!((the.tagName == "INPUT" && the.type.toLowerCase() == "text") || the.tagName == "TEXTAREA")){  
            return false;  
        }  
        return true;  
    }catch (e){  
        return false;  
    }  
}  

//屏蔽复制  
document.oncopy = function (event){  
    if(window.event){  
        event = window.event;  
    }try{  
        var the = event.srcElement;  
        if(!((the.tagName == "INPUT" && the.type.toLowerCase() == "text") || the.tagName == "TEXTAREA")){  
            return false;  
        }  
        return true;  
    }catch (e){  
        return false;  
    }  
}  

//屏蔽剪切  
document.oncut = function (event){  
    if(window.event){  
        event = window.event;  
    }try{  
        var the = event.srcElement;  
        if(!((the.tagName == "INPUT" && the.type.toLowerCase() == "text") || the.tagName == "TEXTAREA")){  
            return false;  
        }  
        return true;  
    }catch (e){  
        return false;  
    }  
}  

//屏蔽选中  
document.onselectstart = function (event){  
    if(window.event){  
        event = window.event;  
    }try{  
        var the = event.srcElement;  
        if (!((the.tagName == "INPUT" && the.type.toLowerCase() == "text") || the.tagName == "TEXTAREA")){  
            return false;  
        }  
        return true;  
    } catch (e) {  
        return false;  
    }  
}

网页退出提示的方法:

window.onbeforeunload = function(event){  
            event = event || window.event;  
            event.returnValue = ' ';  
    }  

移动端中,屏蔽类似iphone的默认滑动事件用一下方法:

//禁用浏览器的默认滑动事件  
    var preventBehavior = function(e) {  
        e.preventDefault();  
    };  
    // Enable fixed positioning  
    document.addEventListener("touchmove", preventBehavior, false);  

直接在CSS 文件中添加下面的代码,就可以实现了在手机端禁止粘贴复制的功能:

1.*{   
2.    -webkit-touch-callout:none;  /*系统默认菜单被禁用*/   
3.    -webkit-user-select:none; /*webkit浏览器*/   
4.    -khtml-user-select:none; /*早期浏览器*/   
5.    -moz-user-select:none;/*火狐*/   
6.    -ms-user-select:none; /*IE10*/   
7.    user-select:none;   
8.}  

在添加完这段代码后,在IOS 上会有问题的,这个时候你会发现input 框无法正在输入了内容了;造成这个原因就是 -webkit-user-select:none; 这个属性造成的。

解决这个方法 就是 在css 文件中同时设置一下input 的属性,如下所示:

1.input {      
2.     -webkit-user-select:auto; /*webkit浏览器*/     
3.}  
点击查看更多内容
1人点赞

若觉得本文不错,就分享一下吧!

评论

作者其他优质文章

正在加载中
感谢您的支持,我会继续努力的~
扫码打赏,你说多少就多少
赞赏金额会直接到老师账户
支付方式
打开微信扫一扫,即可进行扫码打赏哦
今天注册有机会得

100积分直接送

付费专栏免费学

大额优惠券免费领

立即参与 放弃机会
意见反馈 帮助中心 APP下载
官方微信

举报

0/150
提交
取消