<input type="text" onkeypress="return handleEnter(this, event)"><br>
<input type="text" onkeypress="return handleEnter(this, event)"><br>
<textarea onkeypress="return handleEnter(this, event)">回车切换焦点</textarea>
</form> function handleEnter (field, event) {
var keyCode = event.keyCode ? event.keyCode : event.which ? event.which : event.charCode
if (keyCode == 13) {
var i
for (i = 0 i < field.form.elements.length i++)
if (field == field.form.elements[i])
break
i = (i + 1) % field.form.elements.length
field.form.elements[i].focus()
return false
}
else
return true
}
您好!很高兴为您答疑。这个应该是extjs定义界面的代码,按照一般的思路,用回车键替代tab键进行激活切换,就是重写事件。但是因为回车键本身的特殊性,该方式未必可以奏效。如果这种事件重新定义的方式都无法实现,那应该就没法实现了。
如果对我们的回答存在任何疑问,欢迎继续问询。
JS中onkeydown, onkeyup, onblur 三个事件对比,并js实现判断文本框是否为空和按Enter键实现Tab换行
1、onkeydown, onkeyup, onblur
onkeydown: 是按下键盘中某个键时触发
onkeyup: 是按下键盘中某个键并弹起时触发
最明显的是Textbox 当光标在Textbox上,你按下'a'键时
onkeydown是先响应其中事件,事件响应完了之后把'a'赋值给Textbox
onkeyup是先把'a'赋值给Textbox, 后响应其中的事件
onblur: 是切换光标时触发
2、判断文本框是否为空
//name: 提示信息
//stxt: 要判断的控件ID
function checkisnull(name, stxt){
var str = document.getElementById(stxt)
if(str.value.length == 0){
alert(name.toString() + "不能为空")
document.getElementById(stxt).focus()
}
}
按下Enter键进行换行
function totab(){
if(window.event.keyCode == 13){
window.event.keyCode = 9
//keycode为13是Enter键 9是Tab键
}
}
3、在实际使用中
<asp:TextBox
ID="wTxt_JCTitle" onkeydown="totab()" onblur="checkisnull('本卷标题
','wTxt_JCTitle')" runat="server"
Font-Size="20pt"></asp:TextBox>