码迷,mamicode.com
首页 > 其他好文 > 详细

placeholder的模拟

时间:2015-01-22 00:08:41      阅读:153      评论:0      收藏:0      [点我收藏+]

标签:

自己写的一个placeholder的模拟

<!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" xml:lang="en">
<head>
<meta http-equiv="Content-Type" content="text/html;charset=UTF-8">
<title>Document</title>
<script type="text/javascript" src="jquery-1.10.2.min.js"></script>
<style type="text/css">
*{margin: 0;padding: 0;border:0;outline: none;list-style:none;}
body{font-size: 12px;}
.inputtext_1{width:200px;height: 16px;line-height: 16px\9;padding: 8px 10px;border:1px solid #ccc;}
ul{margin: 100px;}
ul li{margin-top: 10px;}
</style>
</head>
<body>
    <ul>
        <li>
            <input type="text" placeholder="用户名" class="inputtext_1" />
        </li>
        <li>
            <input type="password" placeholder="密码" class="inputtext_1" />
        </li>
    </ul>
<script type="text/javascript">
if(typeof placeholder== "undefined" || !placeholder) var placeholder={};
(function(){
    placeholder={
        check:function(){
            return placeholder in document.createElement(input);    
        },
        fix:function(h){
            if(!placeholder.check()){
                $(input[placeholder]).each(function (i,v){
                    var v = $(v),s = $(<span>+v.attr(placeholder)+</span>);
                    $(v).wrap(<div style="position:relative;"></div>);
                    s.css({
                        "position":"absolute",
                        //如果传入参数 则以参数为高度
                        "height":(h||v.outerHeight()),
                        "line-height":v.outerHeight()+"px",
                        "padding-left":parseInt(v.css("padding-left"))+1,
                        "left":0,
                        "top":0,
                        "color":"#a9a9a9"
                    }).insertAfter(v);

                    v.keyup(function(){
                        if(v.val()!=="") s.hide();
                            else s.show();
                    });

                    s.click(function(){
                         setTimeout(function(){v.focus();},0)    
                    });

                });
            }
        }
    }
    //如果传入参数 则以参数为高度
    placeholder.fix(42);
})()

</script>
</body>
</html>

 

placeholder的模拟

标签:

原文地址:http://www.cnblogs.com/anson0415/p/4240274.html

(0)
(0)
   
举报
评论 一句话评论(0
登录后才能评论!
© 2014 mamicode.com 版权所有  联系我们:gaon5@hotmail.com
迷上了代码!