折腾一下午,总算解决了这个比较蛋疼的问题。
前端用的bootstrap做的,所以很多html5
结果到ie下面一测,乖乖。不得了,所有的input里面的placeholder等都出不来了。
哭吧。
百度关键词 jquery html5 placeholder 查找
果然都是高手,还有很多类似问题。
找了好多。发现个还算圆满的。这不得不再次感谢我们伟大的互联网啊。
下面是代码:
$.fn.extend({ /** * 该方法为了解决不支持placeholder属性的浏览器下达到相似效果作用 * @param _color 文本框输入字体颜色,默认黑色 * @param _plaColor 文本框placeholder字体颜色,默认灰色#a3a3a3 */ inputTip: function (_color, _plaColor) { _color = _color || "#000000"; _plaColor = _plaColor || "#a3a3a3"; function supportsInputPlaceholder() { // 判断浏览器是否支持html5的placeholder属性 var input = document.createElement('input'); return "placeholder" in input; } function showPassword(_bool, _passEle, _textEle) { // 密码框和文本框的转换 if (_bool) { _passEle.show(); _textEle.hide(); } else { _passEle.hide(); _textEle.show(); } } if (!supportsInputPlaceholder()) { this.each(function () { var thisEle = $(this); var inputType = thisEle.attr("type") var isPasswordInput = inputType == "password"; var isInputBox = inputType == "password" || inputType == "text"; if (isInputBox) { //如果是密码或文本输入框 var isUserEnter = false; // 是否为用户输入内容,允许用户的输入和默认内容一样 var placeholder = thisEle.attr("placeholder"); if (isPasswordInput) { // 如果是密码输入框 //原理:由于input标签的type属性不可以动态更改,所以要构造一个文本input替换整个密码input var textStr = "<input type='text' class='" + thisEle.attr("class") + "' style='" + (thisEle.attr("style") || "") + "' />"; var textEle = $(textStr); textEle.css("color", _plaColor).val(placeholder).focus( function () { thisEle.focus(); }).insertAfter(this); thisEle.hide(); } thisEle.css("color", _plaColor).val("");//解决ie下刷新无法清空已输入input数据问题 if (thisEle.val() == "") { thisEle.val(placeholder); } thisEle.focus(function () { if (thisEle.val() == placeholder && !isUserEnter) { thisEle.css("color", _color).val(""); if (isPasswordInput) { showPassword(true, thisEle, textEle); } } }); thisEle.blur(function () { if (thisEle.val() == "") { thisEle.css("color", _plaColor).val(placeholder); isUserEnter = false; if (isPasswordInput) { showPassword(false, thisEle, textEle); } } }); thisEle.keyup(function () { if (thisEle.val() != placeholder) { isUserEnter = true; } }); } }); } } }); $(function () { $("input").inputTip(); // 调用inputTip方法 $("input[type='button']").focus(); // 页面打开后焦点置于button上,也可置于别处。否则IE上刷新页面后焦点在第一个输入框内造成placeholder文字后紧跟光标现象 });
代码引用的方式为:
<!--[if lt IE 9]> <script src="assets/js/jquery-placeholder.js"></script> <![endif]-->
打完收工,叔也很累了。现在还捣腾这些前段。木有美工,真蛋疼~~~
相关推荐
本篇将详细介绍如何使用一个名为"placeholderfriend.js"的jQuery插件,在IE浏览器下实现`placeholder`效果。 首先,我们来看`placeholderfriend.js`插件的基本原理。这个插件的工作机制是通过监听页面加载和输入框...
标题中的“placeholder效果的jQuery插件,支持IE6、IE7”指的是一个专门用于处理HTML5 placeholder属性的jQuery扩展,这个插件使得在不支持HTML5的旧版Internet Explorer(如IE6和IE7)中也能实现类似的功能。在...
Placeholder属性是HTML5中的一个新特性,它允许开发者在表单元素中提供一些提示信息,当输入框为空时,会显示这个提示文本。当用户开始输入时,提示信息会自动消失。这个属性极大地方便了用户在输入框中输入信息的...
HTML5的`placeholder`属性是现代网页开发中的一个重要特性,它允许在输入框(`<input>`)或文本区域(`<textarea>`)内提供一个提示文本,该文本会在用户聚焦元素时消失。这个功能在IE6、7、8等较老版本的Internet ...
标题提到的“input中placeholder在Ie上兼容”指的是HTML5中的`placeholder`属性在Internet Explorer(IE)浏览器上的支持情况。`placeholder`属性用于在输入框`<input>`内显示提示文字,帮助用户了解输入字段应该...
在互联网技术日新月异的今天,HTML5引入了许多新的特性,其中之一便是`placeholder`属性。这个属性在现代浏览器中广泛被使用,为输入框提供了提示文本,但在早期版本的Internet Explorer (IE)中并不支持。`...
在前端开发中,IE7浏览器的兼容性问题一直是一个挑战,特别是对于HTML5新特性,如`input`元素的`placeholder`属性。`placeholder`属性允许我们在输入框中设置提示文字,当用户聚焦输入框时,提示文字会自动消失。...
foxholder.js是一款高效且功能丰富的jQuery插件,它的主要功能是在用户输入表单前显示提示文本,也就是我们常说的占位符(placeholder)。这些占位符不仅起到了提示作用,还带有15种不同的动画效果,为用户提供了更...
为了实现全浏览器的兼容性,我们需要寻找一种解决方案,这就是“placeholder HTML 5 IE 兼容插件”的作用。 这篇博客文章(https://alxw4616.iteye.com/blog/2098609)很可能介绍了如何利用JavaScript或者jQuery来...
总的来说,处理IE8的`placeholder`兼容问题主要依赖于JavaScript和jQuery插件,通过这些方法,我们可以使旧版浏览器也能享受到现代Web开发带来的便利性。尽管现在大部分用户都已经升级到更现代的浏览器,但在某些...
`placeholder` 属性的原生支持始于 HTML5,因此,对于那些不支持 HTML5 的浏览器,如 IE8 和 IE9,我们需要通过 JavaScript 或 jQuery 插件来模拟这一功能。在描述中提到的方法是通过创建一个 `<span>` 元素来显示...
总结来说,jQuery `placeholder`实现的源码主要是通过模拟`placeholder`属性来达到在所有浏览器中的兼容性。它通过监听`focus`和`blur`事件,动态地添加和移除提示文本,确保用户能够顺畅地与输入框交互。对于不支持...
"IE8支持的placeholder组件"就是一个为了解决IE8及其以下版本浏览器不支持HTML5 `placeholder`属性而设计的解决方案。这个组件基于jQuery库,能够为这些旧版Internet Explorer提供类似HTML5 `placeholder`的效果,...
使用该插件(jquery.placeholder.js)解决IE9及以版本下对placeholder的兼容性问题
为了解决这个问题,我们可以使用插件或脚本来使IE兼容HTML5的placeholder属性。 给出的代码是一个jQuery插件示例,用于模拟placeholder的效果。这段代码首先检查当前浏览器是否原生支持placeholder属性,如果不支持...
`placeholder`属性是HTML5引入的新特性,它允许我们在`<input>`元素内设置提示文本,但遗憾的是,这个特性在IE8及以下版本并不支持。 为了解决这个问题,我们需要采用一些技巧来实现跨浏览器的提示文字兼容性。附件...
在现代Web开发中,`placeholder`属性是HTML5的一个特性,用于在输入框(input)内显示提示信息,当用户开始输入或聚焦时,提示信息会自动消失。然而,这个功能在旧版本的浏览器,尤其是Internet Explorer (IE)的早期...
本文将深入探讨`jQuery Placeholder`插件的工作原理、如何使用以及其在解决IE浏览器兼容性问题中的应用。 ### 1. 插件简介 `jQuery Placeholder`是由一些热心的开发者创建的,它的主要目标是为那些不支持HTML5 `...