这是我的代码:
<script type="text/javascript" language="javascript">
$(document).ready(function() {
// esc -------------------------------------------
$(document).bind('keyup', 'esc', function(event) { seaClick('OboutImageButton1'); });
$('#txbLct').bind('keyup', 'esc', function(event) { seaClick('OboutImageButton1'); });
$('#txbQty').bind('keyup', 'esc', function(event) { seaClick('OboutImageButton1'); });
$('#btnOk').bind('keyup', 'esc', function(event) { seaClick('OboutImageButton1'); });
$('#OboutImageButton1').bind('keyup', 'esc', function(event) { seaClick('OboutImageButton1'); });
// down ------------------------------------------
$(document).bind('keyup', 'down', function(event) { myClick('btnNext'); });
$('#txbLct').bind('keyup', 'down', function(event) { myClick('btnNext'); });
$('#txbQty').bind('keyup', 'down', function(event) { myClick('btnNext'); });
$('#btnOk').bind('keyup', 'down', function(event) { myClick('btnNext'); });
//$('#OboutImageButton1').bind('keyup', 'down', function(event) { myClick('btnNext'); });
// up --------------------------------------------
$(document).bind('keyup', 'up', function(event) { myClick('btnPrev'); });
$('#txbLct').bind('keyup', 'up', function(event) { myClick('btnPrev'); });
$('#txbQty').bind('keyup', 'up', function(event) { myClick('btnPrev'); });
$('#btnOk').bind('keyup', 'up', function(event) { myClick('btnPrev'); });
//$('#OboutImageButton1').bind('keyup', 'up', function(event) { myClick('btnPrev'); });
// return ----------------------------------------
$(document).bind('keyup', 'return', function(event) { myClick('btnOk'); });
$('#txbLct').bind('keyup', 'return', function(event) { myClick('btnOk'); });
$('#txbQty').bind('keyup', 'return', function(event) { myClick('btnOk'); });
$('#btnOk').bind('keyup', 'return', function(event) { myClick('btnOk'); });
//$('#OboutImageButton1').bind('keyup', 'return', function(event) { myClick('btnOk'); });
});
function myClick(buttonName) {
//alert(buttonName);
//Get the button the user wants to have clicked
var btn = document.getElementById(buttonName);
if (btn != null) { //If we find the button click it
//alert('clicked');
btn.click();
event.keyCode = 0
} else {
alert('error');
}
//alert('end');
}
</script>
我使用myClick
上的代码来调用与按钮相关联的功能单击以执行某些操作,基本上它可以工作,但是如果我尝试使用按钮/键,如 Enter 或 Esc ,有时页面会调用其他按钮(并且不会传递函数myClick
)。
任何想法为什么?
答案 0 :(得分:1)
很可能是在DOM中的第一个输入元素上发生了输入按下事件。一个建议是在文档上监听keydown事件,如果按下的键是回车键,则调用所需的方法。
$(document).keypress(function(e){
var code = e.keyCode ? e.keyCode : e.which;
if(code == '13') //call desired method
});