您的位置:首页 > 其它

假装禁止浏览器backspace键,真实效果就是你如果不点击body区域,你按backspace还是禁止不了

2017-07-19 00:00 302 查看
摘要: 这玩意在火狐跟ie没啥卵用,只要点击浏览器以外地方,backspace还是禁止不了

//添加监听事件做到兼容所有浏览器
var EventUtil = {
getEvent: function(e){
return e ? e :window.event;
},
addHandler:function(element, type, handler){
if(element.addEventListener){
element.addEventListener(type, handler, false)
} else if (element.attachEvent){
element.attachEvent("on"+type, handler)
} else {
element["on" + type] = handler;
}
},
removeHander:function(element, type, handler){
if(removeEventListener){
element.removeEventListener(type, handler, false);
} else if (element.detachEvent){
element.detachEvent("on"+type, handler)
} else {
element["on" + type] = null;
}
},
trim:function(str) {
return str.replace(/(^\s+)|(\s+$)/g, "");
},
keyCode:function(e){
return event.keyCode ? event.keyCode : (event.which ? event.which : event.charCode);
},
handler: function(event){
event = event || window.event;
var keyCode = event.keyCode ? event.keyCode : (event.which ? event.which : event.charCode);
if (keyCode == 13) {
EventUtil.submit();
}
},
getWheelDelta: function (event) {
e = EventUtil.getEvent(event);
if(e.shiftKey){
e.preventDefault ? e.preventDefault(): e.returnValue= false;
}
if(e.ctrlKey){
e.preventDefault ? e.preventDefault(): e.returnValue= false;
}
},
handleMouseWheel:function(event) {
event = EventUtil.getEvent(event);
var delta = EventUtil.getWheelDelta(event);
},
forbidBackspace:function(e){
event = EventUtil.getEvent(e);
keyCode = EventUtil.keyCode(event);
var obj = event.relatedTarget || event.srcElement || event.target || event.currentTarget;
if(keyCode == 8){
var tagName = obj.nodeName //标签名称
//如果标签不是input或者textarea则阻止Backspace
if(tagName!='INPUT' && tagName!='TEXTAREA'){
return EventUtil.stopIE(event);
}
var tagType = obj.type.toUpperCase();//标签类型
//input标签除了下面几种类型,全部阻止Backspace
if(tagName=='INPUT' && (tagType!='TEXT' && tagType!='TEXTAREA' && tagType!='PASSWORD')){
return EventUtil.stopIE(event);
}
//input或者textarea输入框如果不可编辑则阻止Backspace
if((tagName=='INPUT' || tagName=='TEXTAREA') && (obj.readOnly==true || obj.disabled ==true)){
return EventUtil.stopIE(event);
}
}
},
stopIE:function(e){
event = EventUtil.getEvent(e);
if(event.preventDefault ){
//preventDefault()方法阻止元素发生默认的行为
event.preventDefault();
}
if(event.returnValue){
//IE浏览器下用window.event.returnValue = false;实现阻止元素发生默认的行为
event.returnValue = false;
}
return false;
}
}
EventUtil.addHandler(document, "mousewheel", EventUtil.handleMouseWheel);
EventUtil.addHandler(document, "DOMMouseScroll", EventUtil.handleMouseWheel);
EventUtil.addHandler(document,'keydown', EventUtil.forbidBackspace);
EventUtil.addHandler(document,'keypress', EventUtil.forbidBackspace);
内容来自用户分享和网络整理,不保证内容的准确性,如有侵权内容,可联系管理员处理 点击这里给我发消息
标签: 
相关文章推荐