zoukankan      html  css  js  c++  java
  • 在IE8等不支持placeholder属性的浏览器中模拟placeholder效果

    placeholder是一个很有用的属性,可以提示用户在input框中输入正确的内容,但是IE8以及IE8一下的浏览器不支持该属性,我们可以使用js来模拟相似的效果。下面直接上代码:

    <!doctype html>
    <html>
    <header>
    <meta charset="utf-8">
    <title>placeholder</title>
    <style type="text/css">
    *{margin:0;padding:0;}
    form {margin:50px;}
    input {display:block;margin:0 0 6px 0;}
    </style>
    </header>
    <body>
        <form>
            用户名:<input name="name" placeholder="请输入用户名"/>
            密码:<input name="password" placeholder="请输入登陆密码"/>
        </form>
    <script type="text/javascript" src="jquery-1.11.1.min.js"></script>
    <script type="text/javascript">
    $(function(){
        function placeholderSupport() {    // 判断浏览器是否支持 placeholder
            return 'placeholder' in document.createElement('input');
        }
        
        if(!placeholderSupport()){
            $(document).on('focus', '[placeholder]',function() {
                var input = $(this);
                if (input.val() == input.attr('placeholder')) {
                    input.val('');
                    input.removeClass('placeholder');
                }
            });
            $(document).on('blur', '[placeholder]',function() {
                var input = $(this);
                if (input.val() == '' || input.val() == input.attr('placeholder')) {
                    input.addClass('placeholder');
                    input.val(input.attr('placeholder'));
                }
            });
            $('[placeholder]').blur();
        };
    });
    </script>
    </body>
    </html>

    'placeholder' in document.createElement('input') ,该行代码利用 in 表达式来判断浏览器中的 input 元素中是否有 placeholder 属性存在。

    $('[placeholder]') 是一个Jquery 的属性选择器,选择页面上所有的具有 placheholder 属性的元素。在页面加载完成时我们首先调用  blur() 方法,将所有 input 元素的值 设置 为 input 属性 placeholder 对应的值,从而模拟 placeholder 的效果。

    效果如下图所示:

    选中 input 时的效果:

  • 相关阅读:
    register_shutdown_function
    字节转换
    考虑 PHP 5.0~5.6 各版本兼容性的 cURL 文件上传
    linux--svn checkout
    linux命令
    linux---mysql忘记密码
    array_merge函数的注意事项
    逻辑卷使用记录笔记
    系统设计时关于性能问题处理的几点心得
    SSH防暴力破解脚本
  • 原文地址:https://www.cnblogs.com/digdeep/p/4424487.html
Copyright © 2011-2022 走看看