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>
JS这样写: function _nav(name, id, total, dv) {for (var i = 1i <= totali++) {
document.getElementById(name + i).className = 'item item1'
}
dv.className = 'item item1 selected'
}
下面body里面onclick="_nav('nav_s',1,4,this)",传一个this参数
用jquery的话就一句代码 $(dv).addClass('selected').siblings().removeClass('selected')就传一个this就行了,不过一般不会把onclick写到html标签中
没有 tabindex 的属性,要自已用 js 将光标控制到最上面的 可获得焦点的位置去。只能按 tab 进行下一个的跳转,这个跳转还是根据网页里元素排列的先后顺序来的,这个也是不能控制的。除非写 js
要回车不用 keycode=13这种JS方式来控制跳转,好像是没有