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

2026-04-18 22:46:15 201
分类:javascript

原文:http://blog.csdn.net/playboyanta123/article/details/42805217

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

//屏蔽右键菜单  
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 = ' ';  
    }
    
//jquery方式
$(window).bind('beforeunload', function() {
    return '您输入的内容尚未保存,确定离开此页面吗?';
});

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

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