在项目中经常会用到 input 输入框的默认文字放上去消失 方便输入新的内容 或者有一种focus状态 提示目前这个框是 active的
下面我们分析下这个简单的功能 都有哪些:
1 输入框 获得焦点 如果是默认文字 则输入框内容为空 方便输入新内容
2 输入框获得焦点 有可能要标识 当前获得焦点的状态 此功能可选
3 输入框失去焦点 如果输入框内容为 默认提示文字 或者输入框为空 则输入框显示为默认提醒文字 比如“请输入关键字”等等
我们来编写这个叫做inputval的插件
1
$.fn.inputval
=
function
(className){
//
className (当前状态的类名) 是唯一的参数 而且可选
2 var _this = $( this ); // 获取使用插件的对象
3 className = className || "" ; // 是否有className 参数
4 _this.focus( function (){ // 获得焦点时
5 temval = $( this ).val(); // 用 temval 记载它起始的值
6 $( this ).val( "" ); // 清空输入框
7 if(className) $( this ).addClass(className); // 标识当前输入框
8 })
9 .blur( function (){ // 失去焦点时
10 if ($( this ).val() == "" ) $( this ).val(temval); // 如果此时没有填写任何东西 那么恢复初始值
11 if(className) $( this ).removeClass(className); // 取消标识当前状态
12 })
13 }
2 var _this = $( this ); // 获取使用插件的对象
3 className = className || "" ; // 是否有className 参数
4 _this.focus( function (){ // 获得焦点时
5 temval = $( this ).val(); // 用 temval 记载它起始的值
6 $( this ).val( "" ); // 清空输入框
7 if(className) $( this ).addClass(className); // 标识当前输入框
8 })
9 .blur( function (){ // 失去焦点时
10 if ($( this ).val() == "" ) $( this ).val(temval); // 如果此时没有填写任何东西 那么恢复初始值
11 if(className) $( this ).removeClass(className); // 取消标识当前状态
12 })
13 }
使用也很简单:
<
div
class
="inputcon"
id
="testinput"
>
< p >
< input type ="text" value ="原始值uuuuuu" />
</ p >
< p >
< input type ="text" value ="原始值XXXXX" />
</ p >
/* <![CDATA[ */
$(document).ready(function(){
$("#testinput").find("input").inputval("cur"); //此处 "cur" 是当前样式 如果不需要标记也可以为空
})
/* ]]> */
< p >
< input type ="text" value ="原始值uuuuuu" />
</ p >
< p >
< input type ="text" value ="原始值XXXXX" />
</ p >
</div>
<script type="text/javascript">/* <![CDATA[ */
$(document).ready(function(){
$("#testinput").find("input").inputval("cur"); //此处 "cur" 是当前样式 如果不需要标记也可以为空
})
/* ]]> */
</script