模拟placeholder

<!DOCTYPE html>
<html lang="en">
<head>
    <meta charset="UTF-8">
    <title>Document</title>
</head>
<body>
    <form id="form1" action="">
        <input type="text" name="username" placeholder="请输入用户名">
        <input type="password" name="password" placeholder="请输入密码">
        <input type="text" name="email" placeholder="请输入邮箱">
    </form>

    <script type="text/javascript">
        (function(){
            var elem = document.createElement(‘input‘);
            if(elem.placeholder !== undefined) return;

            var form = document.getElementById(‘form1‘),
                inputs = form.getElementsByTagName(‘input‘),
                i,input,value,type;

            for(i in inputs){
                input = inputs[i];
                type = ‘text‘;

                if(input.type !== ‘text‘ && input.type !== ‘password‘) continue;
                if(input.type === ‘password‘){
                    type = ‘password‘; input.type = ‘text‘;
                }

                value = input.getAttribute(‘placeholder‘);
                input.value = value;

                (function(value,type){
                    input.onfocus = function(){
                        if(this.value === value) this.value = ‘‘;
                        if(type === ‘password‘) this.type = ‘password‘;
                    }
                    input.onblur = function(){
                        if(this.value === ‘‘) this.value = value;
                        if(this.value === value && type === ‘password‘) this.type = ‘text‘;

                    }
                })(value,type);
            }
        })();
    </script>
</body>
</html>
时间: 2024-08-30 06:25:25

模拟placeholder的相关文章

获取表单的初始值,模拟placeholder属性

input和textarea有一个默认属性defaultValue,即初始值. 即使在页面操作修改了input和textarea的内容,获取到的defaultValue依然是初始值.可通过该值模拟placeholder属性,而不额外添加任何属性,标签之类. js:  以input为例 jq: 完全模拟placeholder,无需添加任何额外属性和标签. textarea标签模拟过程完全一致:

select标签模拟placeholder属性与一般操作(最重要的是ios某一项被选中的兼容)

1.为了统一样式,常常要模拟placeholder <select> <option disabled selected hidden>请选择</option> <option>what</option> <option>the</option> <option>hell</option> </select> 2.select选中的值和某个值要被选中(ios兼容) <select

在IE8等不支持placeholder属性的浏览器中模拟placeholder效果

placeholder是一个很有用的属性,可以提示用户在input框中输入正确的内容,但是IE8以及IE8一下的浏览器不支持该属性,我们可以使用js来模拟相似的效果.下面直接上代码: <!doctype html> <html> <header> <meta charset="utf-8"> <title>placeholder</title> <style type="text/css"

js模拟placeholder效果1

由于有的浏览器不支持placeholder,所以写了一个jquery插件来模拟placeholder效果. 使用方法:$("#IDName").placeholder(); 话不多说,直接上代码~~~ (function ($) {     $.fn.placeholder = function (options) {         var defaults = {             pColor: "#BEBEBE",             pActiv

jQuery封装placeholder效果,让低版本浏览器支持该效果

页面中的输入框默认的提示文字一般使用placeholder属性就可以了,即: <input type="text" name="username" placeholder="请输入用户名" value="" id="username"/> 最多加点样式控制下默认文字的颜色 input::-webkit-input-placeholder{color:#AAAAAA;} 但是在低版本的浏览器却不支

IE8兼容placeholder的方案

用JavaScript解决Placeholder的IE8兼容问题 placeholder属性是HTML5新添加的属性,当input或者textarea设置了该属性后,该值的内容将作为灰色提示显示在文本框中,当文本框获得焦点时,提示文字消失,placeholder可作为输入框的提示文案 如图: placeholder是常用的属性,它使得input框内有很友好的提示效果.高版本浏览器都支持placeholder属性,但IE9以下版本的浏览器并不支持这一属性.这里用JavaScript实现添加对浏览器

placeholder的兼容处理(jQuery下)

这是一个老问题,结合前辈们的经验,需要处理的问题有一下几个. 1.只有输入框(input/textarea)下的palaceholder属性存在的时候才需要处理这类兼容 2.处理好输入框上焦点和是焦点的文本显示 3.密码输入框比较特殊,因为为其设置显示文本时显示的是一串“***”.这个问题后面分析.处理好前两点还是比较简单的,处理源码为如下 var browserSupport = { placeholder: 'placeholder' in document.createElement('i

最好用的placeholder插件,jQuery插件EnPlaceholder

EnPlaceholder插件支持密码框哦!实际对比同类的placeholder插件在ie等浏览器下效果做好! 插件效果预览:http://www.wufangbo.com/demo/jquery/30/index.html EnPlaceholder的使用方法 <script type="text/javascript" src="jquery-1.7.2.min.js"></script> <script type="te

Jquery简单的placeholder效果

Jquery简单的placeholder效果 由于IE6-IE9不支持HTML5中的placeholder,所以自己依赖于Jquery简单的写了一个,供参考! 先看看效果吧!如下JSFiddle地址 查看效果链接 JS代码如下: /* * JS placeholder * IE6-IE9不支持HTML5中的placeholder */ function Placeholder(options) { this.config = { defaultColor: '#ccc', curColor: '