JSP界面:
<button type="button" onkeydown="keyDown();" onclick="resetForm();" >重置(ctrl+z)</button>
JS代码:
//判断是否是IE浏览器
var ie = (document.all) ? true : false;
//设置页面快捷键
function keyDown(e){
if(ie){
//IE浏览器
if(e.ctrlKey && e.keyCode == 90){//重置按钮 ctrl+z
event.keyCode=0;
event.returnValue=false;
resetForm();
} else if(e.ctrlKey && e.keyCode == 80){//打印按钮 ctrl+p
event.keyCode=0;
event.returnValue=false;
printForm();
} else if(e.keyCode == 34) {//保持按钮 enter改成page down
formSubmit();
}
} else {
//非IE浏览器
if(e.ctrlKey && e.keyCode == 90){//重置按钮 ctrl+z
event.keyCode=0;
event.returnValue=false;
resetForm();
return false;
} else if(e.keyCode == 80){//打印按钮 ctrl+p
event.keyCode=0;
event.returnValue=false;
printForm();
return false;
} else if(e.keyCode == 34) {//保持按钮 enter改成page down
formSubmit();
return false;
}
}
}
document.onkeydown=keyDown;
这一步是为了阻止外接设备扫描完成后,会自动触发enter键提交的问题
//键码获取
$(document).keyup(function (event) {
if(event.keyCode == 13) {
event.preventDefault();
};
});
这一步是在页面初始化的时候,文本框自动聚焦光标
$(document).ready(function() {
setTimeout(function(){//采用这种方式聚焦光标,是因为初始化页面时,项目框架自带的请求进度滚动条覆盖了聚焦文本框的光标
$("#expressNo").focus();
},1500);
$("#expressNo").on("change", function() {
var inputs = $("input[id^=tscode]");
for(var i = 0; i < inputs.length ; i++) {
var input = inputs[i];
if(input.value == null || input.value == "") {
input.focus();
break;
}
}
});
});