继续浏览精彩内容
慕课网APP
程序员的梦工厂
打开
继续
感谢您的支持,我会继续努力的
赞赏金额会直接到老师账户
将二维码发送给自己后长按识别
微信支付
支付宝支付

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

一飞同学
关注TA
已关注
手记 40
粉丝 82
获赞 1103

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

//屏蔽右键菜单  
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.}  
打开App,阅读手记
1人推荐
发表评论
随时随地看视频慕课网APP