jQuery实现IE输入框完成placeholder标签功能的方法


Posted in jQuery onSeptember 20, 2017

本文实例讲述了jQuery实现IE输入框完成placeholder标签功能的方法。分享给大家供大家参考,具体如下:

如果在输入框加上placeholder="xx"属性,例如:

<input type="text" placeholder="请输入关键词"/>

则可以在谷歌浏览器等高级浏览器的输入框中实现替换文本的功能,也就是得到如下图所示的对话框:

jQuery实现IE输入框完成placeholder标签功能的方法

但是这个属性在WIN7默认的浏览器IE8中无法兼容,更不要说IE6了。也就是说IE里面不支持placeholder这个标签。

不信的话,大可以把这段代码拉到IE8里面运行下试试,你只不过是得到一个空的对话框

在IE里面要实现这个要用组件失去焦点blur与得到焦点focus里面做,详细可以参考《JavaScript组件焦点与页内锚点间传值的方法》

其实可以完全不用jQuery,这里使用这是为了复习下《jQuery通过控制节点实现仅在前台通过get方法完成参数传递》

思想很简单,一开始这个文本框默认为#cccccc灰色字体,值为“请输入关键词”,当得到焦点之后,把它的颜色设置为#000000黑色,值为空,一旦其失去焦点,如果值为空,马上把其恢复默认的#cccccc灰色字体,值为“请输入关键词”

代码如下:

<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Transitional//EN" "http://www.w3.org/TR/xhtml1/DTD/xhtml1-transitional.dtd">
<html xmlns="http://www.w3.org/1999/xhtml">
<head>
<meta http-equiv="Content-Type" content="text/html; charset=utf-8" />
<title>搜索输入框替换文本</title>
<script type="text/javascript" src="js/jquery-1.11.1.js"></script>
</head>
<body>
<form id="test">
  <input id="searchKeyword" type="text" maxlength="30" value="请输入关键词" style="color:#cccccc" />
</form>
</body>
</html>
<script type="text/javascript">
$(document).ready(function(){
  var isthisnull = true ;
  $("#searchKeyword").focus(function(){
    if ($(this).val() == "请输入关键词" && isthisnull) {
      $(this).val("");
      $(this).attr("style","color:#000000");
      isthisnull = false;
    }
  });
  $("#searchKeyword").blur(function(){
    if ($(this).val() == "") {
      $(this).val("请输入关键词");
      $(this).attr("style","color:#cccccc");
      isthisnull = true;
    }
  });
});
</script>

这里注意的是,是加入一个isthisnull的布尔值来判断其是否为空,是为了判断用户是否要输入“请输入关键词”,

不能认为文本框里面有“请输入关键词”就是空,如果用户自己输入“请输入关键词”呢?

这里也不应该用jquery或者javascript来取color或者style的值是否为"#cccccc"或者“color:#cccccc”来判断,因为通过$(this).css("color")来取color,在不浏览器输出的结果是不一样的,而取style的话,ie会认为这是一个object,而不是字符串

设置一个isthisnull,也可以为后面进一步的表单验证做准备

最终在IE中得到如下效果:

jQuery实现IE输入框完成placeholder标签功能的方法

希望本文所述对大家jQuery程序设计有所帮助。

jQuery 相关文章推荐
jquery 禁止鼠标右键并监听右键事件
Apr 27 jQuery
jQuery、layer实现弹出层的打开、关闭功能
Jun 28 jQuery
原生js jquery ajax请求以及jsonp的调用方法
Aug 04 jQuery
jQuery实现手势解锁密码特效
Aug 14 jQuery
webpack里使用jquery.mCustomScrollbar插件的方法
May 30 jQuery
jQuery实现列表的增加和删除功能
Jun 14 jQuery
jQuery常见的遍历DOM操作详解
Sep 05 jQuery
jQuery实现数字自动增加或者减少的动画效果示例
Dec 11 jQuery
jQuery实现的记住帐号密码功能完整示例
Aug 03 jQuery
jQuery操作选中select下拉框的值代码实例
Feb 07 jQuery
jQuery实现聊天对话框
Feb 08 jQuery
jQuery实现购物车全功能
Jan 11 jQuery
jQuery实现可兼容IE6的淡入淡出效果告警提示功能示例
Sep 20 #jQuery
jquery 一键复制到剪切板的实例
Sep 20 #jQuery
jQuery实现倒计时功能 jQuery实现计时器功能
Sep 19 #jQuery
jquery实现倒计时小应用
Sep 19 #jQuery
jQuery实现可兼容IE6的遮罩功能详解
Sep 19 #jQuery
jQuery选择器之表单元素选择器详解
Sep 19 #jQuery
jQuery实现简单日期格式化功能示例
Sep 19 #jQuery
You might like
PHP 和 MySQL 基础教程(四)
2006/10/09 PHP
19个Android常用工具类汇总
2014/12/30 PHP
Yii 2.0中场景的使用教程
2017/06/02 PHP
PHP如何防止XSS攻击与XSS攻击原理的讲解
2019/03/22 PHP
Javascript倒计时代码
2010/08/12 Javascript
Ext JS 4实现带week(星期)的日期选择控件(实战一)
2013/08/21 Javascript
Javascript事件实例详解
2013/11/06 Javascript
js加载读取内容及显示与隐藏div示例
2014/02/13 Javascript
node.js中的events.emitter.once方法使用说明
2014/12/10 Javascript
jQuery插件pagination实现分页特效
2015/04/12 Javascript
javascript验证邮件地址和MX记录的方法
2015/06/16 Javascript
jQuery实现灰蓝风格标准二级下拉菜单效果代码
2015/08/31 Javascript
js过滤HTML标签完整实例
2015/11/26 Javascript
详解原生JavaScript实现jQuery中AJAX处理的方法
2016/05/10 Javascript
javascript淘宝主图放大镜功能
2016/10/20 Javascript
详解用node搭建简单的静态资源管理器
2017/08/09 Javascript
jQuery图片查看插件Magnify开发详解
2017/12/25 jQuery
js取小数点后两位四种方法
2019/01/18 Javascript
详解用场景去理解函数柯里化(入门篇)
2019/04/11 Javascript
微信小程序 swiper 组件遇到的问题及解决方法
2019/05/26 Javascript
jquery操作checkbox的常用方法总结【附测试源码下载】
2019/06/10 jQuery
详解tensorflow训练自己的数据集实现CNN图像分类
2018/02/07 Python
DataFrame 将某列数据转为数组的方法
2018/04/13 Python
python Elasticsearch索引建立和数据的上传详解
2019/08/04 Python
Python文件操作模拟用户登陆代码实例
2020/06/09 Python
Python 如何创建一个简单的REST接口
2020/07/30 Python
沃尔玛加拿大:Walmart.ca
2020/03/02 全球购物
WebSphere 应用服务器都支持哪些认证
2013/12/26 面试题
两道JAVA笔试题
2016/09/14 面试题
UNIX操作系统结构由哪几部分组成
2016/02/17 面试题
医生实习工作总结的自我评价
2013/09/27 职场文书
小班下学期幼儿评语
2014/12/30 职场文书
刑事附带民事代理词
2015/05/25 职场文书
PHP中strval()函数实例用法
2021/06/07 PHP
详解Vue项目的打包方式(生成dist文件)
2022/01/18 Vue.js
python opencv将多个图放在一个窗口的实例详解
2022/02/28 Python