Js制作点击输入框时默认文字消失的效果
为了提高用户体验和易用度,一些设计师会对网页中用户经常用的东西进行优化,比如输入框。一般的输入框是怎样优化的呢?从用户体验的角度出发,简化用户使用步骤,让用户用得更方便就是提高了易用性,例如当鼠标悬浮在输入框时改变输入框颜色、自动选中输入框中的默认文字,或者点击输入框时自动清除默认内容等等。 这个效果听起来复杂,其实做起来却很简单,只要一小段javascript代码即可解决。下?面介绍一下几种效果的代码:
1.点击输入框选中内容的html代码:
<form id="form1" name="form1" method="post" action=""> <label for="textfield">输入内容:</label> <input name="textfield" type="text" id="textfield" value="dreamweaver"onfocus="this.select()" /> </form>
2.鼠标悬浮在输入框上时改变边框颜色或背景色
这个效果有两种方法:方法一是使用css中的伪元素:focus;方法二还是使用一小段javascript; 方法一的html代码和上面的例子中一样,只不过在css中加入以下一段:
input:hover { border:1px solid #f00; }
在鼠标悬浮在输入框时,输入框边框就会变成红色,但是此方法只在firefox浏览器和ie7以上版本中有效,ie6不支持,所以它有一定的局限性。 方法二的代码大部分和上面的例子中一样,只不过在在后面再加入一个一段鼠标悬浮的代码:
<form id="form1" name="form1" method="post" action=""> <label for="textfield">输入内容:</label> <input name="textfield" type="text" id="textfield" value="dreamweaver"onfocus="this.select()"onmouseover="this.style.bordercolor='#ff6600'" onmouseout="this.style.bordercolor=''" /> </form>
使用这段代码,大多数浏览器都可以支持。
3.点击输入框默认文字消失
还有一种效果,当鼠标点击输入框时,原有的默认文字消失。如果输入其它新内容,然后移开鼠标,输入框新内容不变;如果不输入新内容,鼠标离开输入框又还原默认文字。 这种效果也只用加入一小段javascript判断即可完成:
<form id="form1" name="form1" method="post" action=""> <label for="textfield">输入内容:</label> <input name="textfield" type="text" id="textfield" value="dreamweaver" onmouseover="this.style.bordercolor='#ff6600'" onmouseout="this.style.bordercolor=''" onfocus="if (value =='dreamweaver'){value =''}" onblur="if (value ==''){value='dreamweaver'}"/> </form>
<textarea class="fankui_textarea" onfocus="if (value =='您的建议,我们悉心采纳;您的批评,我们仔细聆听;请详细描述您的建议或所遇到的问题。'){value =''}" onblur="if (value ==''){value='您的建议,我们悉心采纳;您的批评,我们仔细聆听;请详细描述您的建议或所遇到的问题。'}">您的建议,我们悉心采纳;您的批评,我们仔细聆听;请详细描述您的建议或所遇到的问题。</textarea>
以上三种效果都是比较简单的javascript应用。