可以删除可编辑表单域已输入的内容,如果是readonly表单域则禁用后退功能,用onkeydown方法调用即可。
function forbidBackSpaceKey(){
var doPrevent;
var e = window.event;
if (e.keyCode == 8) {
var d = e.srcElement || e.target;
if (d.tagName.toUpperCase() == 'INPUT' || d.tagName.toUpperCase() == 'TEXTAREA') {
doPrevent = d.readOnly || d.disabled;
}
else{
doPrevent = true;
}
}
else{
doPrevent = false;
}
if (doPrevent){
e.returnValue=false;
}
}
另附上在其他地方见过的用jquery的方法,由于IE不支持preventDefault()方法,所以把下面的方法改写成上面一般的JS方法,实际上在jquery里面的这个方法也不是直接调用而是jquery自己写的。
$(document).ready(function () {
$(document).keydown(function (e) {
var doPrevent;
if (e.keyCode == 8) {
var d = e.srcElement || e.target;
if (d.tagName.toUpperCase() == 'INPUT' || d.tagName.toUpperCase() == 'TEXTAREA') {
doPrevent = d.readOnly || d.disabled;
}
else
doPrevent = true;
}
else
doPrevent = false;
if (doPrevent)
e.preventDefault();
});
});