input 输入框获得/失去焦点时隐藏/显示文字(jquery版)
2024-10-16 02:38:48
input输入框在获得或失去焦点时隐藏或显示文字,这样的焦点效果想必很多朋友在填写form表格的时候都曾见识过吧,本文使用jquery实现以下,感兴趣的朋友可以参考下哈
大家可以看效果图的搜索输入框,默认显示着“用户名/Email”的提示,当这个 input 输入框获得焦点时,就自动清空等待用户输入,当用户啥也没输入就离开这个 input 输入框时,输入框内又再次显示“用户名/Email”的提示。是不是很常见?很多搜索、登录、表单都会用到这个效果,但是我看了N多个网站,有90%以上是这么实现的:
<input type="text" value="搜索关键字" onfocus="if(this.value == '搜索关键字') this.value = ''" onblur="if(this.value =='') this.value = '搜索关键字'" />
我是非常反对把 javascript 写在 html 标签里的,这和 style 写在 html 标签里一样,虽然不违反 W3C 标准,但也不推荐这么写。因为:
1.完全没有复用性可言,如果是个表单,输入框很多,每个都需要这样的效果,那就每个都这么处理吗?
2.如果要修改其中的提示文字,费时费力又不好维护。
3.我们倡导结构(html)、表现(css)、行为(javascript)三者分离,这才是一个好的页面。
那要怎么写才能实现这个效果,而且既有复用性,又好维护,又不需要把 js 写进 html 里呢?
具体方法如下:
首先肯定是引入jQuery
Html代码:
<div><input type="text" value="提示测试" class="input_test" /></div>
<div><input type="text" value="请输入搜索关键" class="input_test" /></div>
jQuery代码:
<script type="text/javascript" src="http://ajax.googleapis.com/ajax/libs/jquery/1.7.1/jquery.min.js"></script>
<script type="text/javascript">
$(function(){
$('.input_test').bind({
focus:function(){
if (this.value == this.defaultValue){
this.value="";
}
},
blur:function(){
if (this.value == ""){
this.value = this.defaultValue;
}
}
});
})
</script>
只要在实现的input输入框加上”input_test”这个class就可以轻松实现了
最新文章
- Holographic Remoting Player
- MyBatis配置文件解析
- Rsyslog配置文件详解
- BZOJ 3171 循环格(费用流)
- MAT Memory Analyzer Tool 插件安装(图解)
- asp.net实现 EXCEL数据导入到数据库功能
- TCP的拥塞控制(转载)
- QT 打开文件对话框汇总
- Java多线程与并发模型之锁
- 命令行界面的C/S聊天室应用 (Socket多线程实现)
- 从 <;sofa:XXX>; 标签开始看 SOFA-Boot 如何融入 Spring
- Docker在Linux上运行NetCore系列(二)把本地编译好的镜像发布到线上阿里云仓库
- javascript:jQuery tablesorter 2.0
- 服务容错保护断路器Hystrix之七:做到自动降级
- winform 可拖动无边框窗体解决办法
- 百度自动推送js
- Android APK 签名比对(转)
- Django rest framework(2)----权限
- java 的==和equals的区别(二)
- Refused to execute script from &#39;....js&#39; because its MIME type (&#39;text/html&#39;) is not executable, and strict MIME type checking is enabled.md
热门文章
- node.js(四)path优化(路径优化)
- some knowledge
- 关于用 random 生成伪随机数的一个手笔
- 通过一个正则表达式,让SQL Server数据库的带参sql也支持位置参数语法!
- OCI_INVALID_HANDLE 什么原因
- leetcode Valid Parentheses python
- codeforces 13E . Holes 分块
- echarts实现上海地域PM值(map、timeline)
- oc swift 混编 特技
- cocos2d-x -------之笔记篇 动画的实现