我只是想知道你是否有人在按钮上做过onkeypress。
我的按钮是这样的:
asp:Button ID="btnClear" runat="server" Text="Clear" onkeypress="return goToFirst();"/>
javascript:
function goToFirst(evt) {
var e = event || evt; // for trans-browser compatibility
var charCode = e.which || e.keyCode;
alert(charCode);
if (charCode = 9 ) {
document.getElementById('txtFirstName').focus();
document.getElementById('txtFirstName').select();
}
return false;
我的目标是检测按钮上的tab键,并在按下Tab键时将焦点设置在指定的文本框上。
问题是按Tab键时onkeypress事件不会触发。其他键如数字和字母会触发事件,但不会触发标签。
我的目标是否有解决方案?
提前致谢!
答案 0 :(得分:8)
使用onkeydown
。这是一个demo
<input ID="btnClear" onkeydown="return goToFirst();"/>
function goToFirst(evt) {
var e = event || evt; // for trans-browser compatibility
var charCode = e.which || e.keyCode;
alert(charCode);
if (charCode == 9 ) {
document.getElementById('txtFirstName').focus();
document.getElementById('txtFirstName').select();
}
return false;
};
答案 1 :(得分:-1)
显示输入后,我使用ev.stopPropagation()和ev.preventDefault()解决了类似的问题。