兼容ie的placeholder设置

html5的placeholder在ie上不被支持,解决的方法

直接在网页里添加

<!--兼容ie的placeholder-->
<script src="static/js/placeholder.js"></script>

就可以了

// JavaScript Document
(function($) {

    /**
     * Spoofs placeholders in browsers that don‘t support them (eg Firefox 3)
     *
     * Copyright 2011 Dan Bentley
     * Licensed under the Apache License 2.0
     *
     * Author: Dan Bentley [github.com/danbentley]
     */

    // Return if native support is available.
    if ("placeholder" in document.createElement("input")) return;

    $(document).ready(function(){
        $(‘:input[placeholder]‘).not(‘:password‘).each(function() {
            setupPlaceholder($(this));
        });

        $(‘:password[placeholder]‘).each(function() {
            setupPasswords($(this));
        });

        $(‘form‘).submit(function(e) {
            clearPlaceholdersBeforeSubmit($(this));
        });
    });

    function setupPlaceholder(input) {

        var placeholderText = input.attr(‘placeholder‘);

        setPlaceholderOrFlagChanged(input, placeholderText);
        input.focus(function(e) {
            if (input.data(‘changed‘) === true) return;
            if (input.val() === placeholderText) input.val(‘‘);
        }).blur(function(e) {
            if (input.val() === ‘‘) input.val(placeholderText);
        }).change(function(e) {
            input.data(‘changed‘, input.val() !== ‘‘);
        });
    }

    function setPlaceholderOrFlagChanged(input, text) {
        (input.val() === ‘‘) ? input.val(text) : input.data(‘changed‘, true);
    }

    function setupPasswords(input) {
        var passwordPlaceholder = createPasswordPlaceholder(input);
        input.after(passwordPlaceholder);

        (input.val() === ‘‘) ? input.hide() : passwordPlaceholder.hide();

        $(input).blur(function(e) {
            if (input.val() !== ‘‘) return;
            input.hide();
            passwordPlaceholder.show();
        });

        $(passwordPlaceholder).focus(function(e) {
            input.show().focus();
            passwordPlaceholder.hide();
        });
    }

    function createPasswordPlaceholder(input) {
        return $(‘<input>‘).attr({
            placeholder: input.attr(‘placeholder‘),
            value: input.attr(‘placeholder‘),
            id: input.attr(‘id‘),
            readonly: true
        }).addClass(input.attr(‘class‘));
    }

    function clearPlaceholdersBeforeSubmit(form) {
        form.find(‘:input[placeholder]‘).each(function() {
            if ($(this).data(‘changed‘) === true) return;
            if ($(this).val() === $(this).attr(‘placeholder‘)) $(this).val(‘‘);
        });
    }
})(jQuery);

兼容ie的placeholder设置,布布扣,bubuko.com

时间: 2024-08-24 14:09:20

兼容ie的placeholder设置的相关文章

Elasticsearch从0.90到1.2的不兼容变化-系统和设置

本文为官方文档的翻译加个人理解.作者翻译时,elasticsearch(下面简称es)的版本为1.2.1. 1.系统级别及设置方面 1.1 es启动时,默认是作为一个前台程序启动.如果你想让es作为一个后台守护进程,需要在启动命令后面加-d参数. 1.2 命令行参数,默认不需要再加-Des.前缀.新的格式如下: ./bin/elasticsearch --node.name=search_1 --cluster.name=production 1.3 在64位的linux系统上面,默认采用内存映

[干货]兼容HTML5的Placeholder属性-更新版v0.10102013

HTML5对Web Form做了许多增强,比如input新增的type类型.Form Validation等.Placeholder是HTML5新增的另一个属性,当input或者textarea设置了该属性后,该值的内容将作为灰字提示显示在文本框中,当文本框获得焦点时,提示文字消失. 这里提供了Placeholder的兼容方法,更新如下: 1.将方法修改为node原生对象的继承对象2.兼容input类型为password的文本框3.提供样式名称作为参数,可以灵活设置样式,修正样式设置一处问题4.

如何用css给input的placeholder设置颜色

我在做页面的时候遇到过这种情况,在input标签中有默认字,但是设计稿上的颜色和input标签中的placeholder的默认颜色不一致.虽然我们可以在js中写出,但是有点过于麻烦了. 所以我就用css来给它设置了一下(注意css中有可能存在兼容性问题,如果实在不行还得用js.不过一般要求不严可以用这个偷偷懒). <!DOCTYPE html> <html> <head> <meta charset="utf-8"> <title&

ie8不兼容input的placeholder属性但是要实现其效果的方法

通过学习前辈的思想,个人想法整理如下: 通过两个元素标签,仿造出placeholder的内容 使用position定位好两个元素标签 第一要隐藏两个元素标签display:none,在<!--[if gte IE 8]><![endif]-->中设置style样式为display:inline-block 使用js控制效果,通过给页面绑定点击事件并且利用target对象做判断,控制两个元素标签的显藏: 点击的对象是元素标签,当前点击对象隐藏,判断另外的输入框值是否为空,是否隐藏显示

Win10输入法切换兼容Win7按法设置

很多人,都是直接从win7升级到win10,在使用的时候,刚开始难免纠结于输入法中英文切换按法. win7下的按法是ctrl+空格,或者ctrl+Shift切换输入法 win10下是win+空格 为了那些纠结的人,我研究了win10下输入法切换兼容win7的设置: 原理: 同一语言下,不同输入切换是ctrl+Shift 不同语言间,切换是win+空格 1.删除微软拼音 1)添加英文语言 2)设置英语为默认语言 3)删除中文语言 4)安装自己喜欢的中文输入法 安装好后,桌面右正角可以看到语言为 2

IIS64位兼容32位Sqlite设置方法

今天花了一天的时间研究了一下SQLite,以取代一些轻量级项目中使用的Access数据库.原因一方面是想尝试一下这个收到追捧的轻量级文件数据库,另一方面是想使用对象关系映射(ORM),SQLite的支持比Access更好一些. 先做了Demo,做了简单的select操作,不过根据经验,.Net应用程序在部署时总会遇到这个那个的问题,果然部署到服务器上时,出现了一系列的问题.至于SQLite如何使用,不在本文的讨论范围内. 我们本次讨论的是在本机开发和调试全部完成后,部署到服务器上(Windows

ie兼容html5中placeholder属性

<!doctype html><html><head><meta charset="utf-8"><title>placeholder</title> <script id="jquery_183" type="text/javascript" class="library" src="C:/Users/Administrator/Desk

给input的placeholder设置颜色

::-webkit-input-placeholder { /* WebKit browsers */color: #999;}:-moz-placeholder { /* Mozilla Firefox 4 to 18 */color: #999;}::-moz-placeholder { /* Mozilla Firefox 19+ */color: #999;}:-ms-input-placeholder { /* Internet Explorer 10+ */color: #999;}

兼容ie10以下版本的placeholder属性

<script src="${ctx }/js/jquery.placeholder.js" type="text/javascript"></script> $(function() { $('input').placeholder();//兼容ie10下placeholder属性: }); js文件地址