JS:
onfocus和onblur事件应用
html页面中,按钮、文本框等可视元素都具有拥有和失去焦点的事件,这些事件在响应鼠标或键盘动作时都可激发预设的操作。本文以文本框获得和失去焦点分别为onfocus、onblur。
一. onfocus(获得焦点事件)
获焦点的标志是该文本框内将出现输入光标,但要让其内的文字全部被选中,我们还得用上this.select()语句,它的意思就是选中全部文本框里的文字。
二. onblur(失去焦点事件)
我们经常会检测文本框是否已经被正确输入,检测工作通常在用户点击了提交按钮之后进行,事实上,利用控件失去焦点的时候,我们就可以实时进行这个检测工作,这样的话,onblur事件就派上用场了。
以下例子有四个文本框,如果还没有任何单击它们当中的任意一个的操作,那么什么事情也不会发生,但是,当你单击了其中的任何一个使其拥有了焦点(输入光标在里面),如果什么都没有输入并且单击了别的地方令其失去焦点,就会弹出一个提示
姓名
性别
年龄
住址
以下是代码和解释:
<form name="blur_test">
<p>姓名 <input type="text" name="name" value="" size="30" onblur="chkvalue(this)"><br>
性别 <input type="text" name="sex" value="" size="30" onblur="chkvalue(this)"><br>
年龄 <input type="text" name="age" value="" size="30" onblur="chkvalue(this)"><br>
住址 <input type="text" name="addr" value="" size="30" onblur="chkvalue(this)"></p>
</form>
<script language="javascript">
function chkvalue(txt) {
if(txt.value=="") alert("请在文本框里输入内容!");
}
</script>
解释——
表单代码里,每一个方框框的代码都嵌入一个onblur JS语句,它们都调用后面的JS代码中的自定义函数chkvalue(this),意思是,当文本框失去焦点时就调用chkvalue()函数;这chkvalue()函数检测文本框是否为空,如果是就弹出警告窗口。该函数有一个参数(txt),对应于前面文本框调用该函数的参数(this)即自身。