背景:
阅读新闻

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

  作者: 今日评论: [字体: ]

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

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>
来源:
录入日期:[2010/04/16 15:51:00]
收藏 推荐 打印 | 录入:mikebai | 阅读:
文章评论      
正在加载评论列表...
评论表单加载中...