使用以下方法能禁用掉主流浏览器的backspace退回上一页行为,唯独IE9不起作用
$(function(){
//禁用backspace键 的退回上一页行为
if(document.addEventListener){
document.addEventListener("keydown",maskBackspace, true);
}else{
document.attachEvent("onkeydown",maskBackspace);
}
});function maskBackspace(event){
var event = event || window.event; //标准化事件对象
var obj = event.target || event.srcElement;
var keyCode = event.keyCode ? event.keyCode : event.which ?
event.which : event.charCode;
if(keyCode == 8){
if(obj!=null && obj.tagName!=null && (obj.tagName.toLowerCase() == "input"
|| obj.tagName.toLowerCase() == "textarea")){
event.returnValue = true ;
if(Ext.getCmp(obj.id)){
if(Ext.getCmp(obj.id).readOnly) {
if(window.event)
event.returnValue = false ; //or event.keyCode=0
else
event.preventDefault(); //for ff[/b]
}
}
}else{
if(window.event)
event.returnValue = false ; // or event.keyCode=0
else
event.preventDefault();
}
}
}
$(function(){
//禁用backspace键 的退回上一页行为
if(document.addEventListener){
document.addEventListener("keydown",maskBackspace, true);
}else{
document.attachEvent("onkeydown",maskBackspace);
}
});function maskBackspace(event){
var event = event || window.event; //标准化事件对象
var obj = event.target || event.srcElement;
var keyCode = event.keyCode ? event.keyCode : event.which ?
event.which : event.charCode;
if(keyCode == 8){
if(obj!=null && obj.tagName!=null && (obj.tagName.toLowerCase() == "input"
|| obj.tagName.toLowerCase() == "textarea")){
event.returnValue = true ;
if(Ext.getCmp(obj.id)){
if(Ext.getCmp(obj.id).readOnly) {
if(window.event)
event.returnValue = false ; //or event.keyCode=0
else
event.preventDefault(); //for ff[/b]
}
}
}else{
if(window.event)
event.returnValue = false ; // or event.keyCode=0
else
event.preventDefault();
}
}
}
function stopEvent(e){
if(e.preventDefault) e.preventDefault();
else e.returnValue = false;
if(e.stopPropagation) e.stopPropagation();
else e.cancelBubble = true;
}function maskBackspace(event){
var e = event || window.event,
target = e.target || e.srcElement,
keyCode = e.keyCode || e.which;
if(keyCode != 8) return;
if(!target || target.readOnly || (target.tagName != "INPUT" && target.tagName != "TEXTAREA")){
try {e.keyCode = 0; } catch(e) {}
stopEvent(e);
}
}