mikebai.com

  • Home
  • dev
  • DotNET
  • M365
  • 搞笑
  • 杂七杂八
  • FocusDict
個人BLOG
it developer
  1. Main page
  2. dev
  3. Main content

文本框获得焦点并删除原内容

2010-04-16 128hotness 0likes 0comments

如果文本框内已经有用户输入的内容了,那么就不应该进行清除文本款内容这个动作了。


blueprince给出了如下代码:

<script type="text/javascript">
function OnEnter( field ) {
if( field.value == field.defaultValue ) { field.value = ""; }
}
function OnExit( field ) {
if( field.value == "" ) { field.value = field.defaultValue; }
}
</script>
<input type=text value="预设文字" onmouseover="this.focus(); OnEnter(this)"
onmouseout="this.blur(); OnExit(this)">



不过上面的代码有一个非常奇怪的行为,就是当鼠标移出文本框后,文本框就会失去焦点,从而造成用户输入无效,应该是由OnExit函数造成的。而浏览器的默认行为应该是:只要用户不点击页面其它部分或者是按tab键,已经获得焦点的表单就不应该失去焦点。我们稍微修改一下代码就可以让文本框的行为回归正常,效果和代码如下:

<script type="text/javascript">
function OnEnter(field){
field.focus();
if(field.value == field.defaultValue){
field.value = "";
}
}
function OnExit(field){
if(field.value == ""){
field.value = field.defaultValue;
}
field.focus();
}
</script>

Tag: Nothing
Last updated:2010-04-16

mikebai

This person is a lazy dog and has left nothing

Like
< Last article
Next article >

COPYRIGHT © 2025 mikebai.com. ALL RIGHTS RESERVED.

Theme Kratos Made By Seaton Jiang