这个标题可能比较拗口不好理解,但是我相信所有的人都见过这个效果,大家可以看本站右上角的搜索输入框,默认显示着“输入搜索内容”的提示,当这个 input 输入框获得焦点时,就自动清空等待用户输入,当用户啥也没输入就离开这个 input 输入框时,输入框内又再次显示“输入搜索内容”的提示。是不是很常见?很多搜索、登录、表单都会用到这个效果,但是我看了N多个网站,有90%以上是这么实现的:
其实还有一种方法:
相信我们都有加载 jQuery,我就基于 jQuery 写了一个方法,先看?DEMO,具体方法如下:
1、html 部分:
?type=“text”?id=“input_test”?value=“input 提示测试”?/>
2、引入 jQuery:
3、执行脚本:
$(function()?{
????var?inputEl?=?$(‘#input_test’),
????????defVal?=?inputEl.val();
????inputEl.bind({
????????focus:?function()?{
????????????var?_this?=?$(this);
????????????if?(_this.val()?==?defVal)?{
????????????????_this.val(”);
????????????}
????????},
????????blur:?function()?{
????????????var?_this?=?$(this);
????????????if?(_this.val()?==?”)?{
????????????????_this.val(defVal);
????????????}
????????}
????});
})
????var?inputEl?=?$(‘#input_test’),
????????defVal?=?inputEl.val();
????inputEl.bind({
????????focus:?function()?{
????????????var?_this?=?$(this);
????????????if?(_this.val()?==?defVal)?{
????????????????_this.val(”);
????????????}
????????},
????????blur:?function()?{
????????????var?_this?=?$(this);
????????????if?(_this.val()?==?”)?{
????????????????_this.val(defVal);
????????????}
????????}
????});
})
实现的最终效果是一样一样的!
暂无评论内容