日韩天天综合网_野战两个奶头被亲到高潮_亚洲日韩欧美精品综合_av女人天堂污污污_视频一区**字幕无弹窗_国产亚洲欧美小视频_国内性爱精品在线免费视频_国产一级电影在线播放_日韩欧美内地福利_亚洲一二三不卡片区

HTML5 INPUT placeholder及兼容性處理_XHTML教程

編輯Tag賺U幣
教程Tag:暫無Tag,歡迎添加,賺取U幣!
  HTML5對Web Form做了許多增強,比如input新增的type類型、Form Validation等。Placeholder是HTML5新增的另一個屬性,當input或者textarea設置了該屬性后,該值的內容將作為灰字提示顯示在文本框中,當文本框獲得焦點時,提示文字消失。以前要實現這效果都是用JavaScript來控制才能實現: 

由于placeholder是個新增屬性,目前只有少數瀏覽器支持,如何檢測瀏覽器是否支持它呢?(更多HTML5/CSS3特性檢測可以訪問)

function hasPlaceholderSupport() {
  return 'placeholder' in document.createElement('input');
}

默認提示文字是灰色的,可以通過CSS來改變文字樣式:

 
/* all */
::-webkit-input-placeholder { color:#f00; }
input:-moz-placeholder { color:#f00; }
 
/* individual: webkit */
#field2::-webkit-input-placeholder { color:#00f; }
#field3::-webkit-input-placeholder { color:#090; background:lightgreen; text-transform:uppercase; }
#field4::-webkit-input-placeholder { font-style:italic; text-decoration:overline; letter-spacing:3px; color:#999; }
 
/* individual: mozilla */
#field2:-moz-placeholder { color:#00f; }
#field3:-moz-placeholder { color:#090; background:lightgreen; text-transform:uppercase; }
#field4:-moz-placeholder { font-style:italic; text-decoration:overline; letter-spacing:3px; color:#999; }

 

兼容其他不支持placeholder的瀏覽器:

var PlaceHolder = {
    _support: (function() {
        return 'placeholder' in document.createElement('input');
    })(),

    //提示文字的樣式,需要在頁面中其他位置定義
    className: 'abc',

    init: function() {
        if (!PlaceHolder._support) {
            //未對textarea處理,需要的自己加上
            var inputs = document.getElementsByTagName('input');
            PlaceHolder.create(inputs);
        }
    },

    create: function(inputs) {
        var input;
        if (!inputs.length) {
            inputs = [inputs];
        }
        for (var i = 0, length = inputs.length; i <length; i++) {
            input = inputs[i];
            if (!PlaceHolder._support && input.attributes && input.attributes.placeholder) {
                PlaceHolder._setValue(input);
                input.addEventListener('focus', function(e) {
                    if (this.value === this.attributes.placeholder.nodeValue) {
                        this.value = '';
                        this.className = '';
                    }
                }, false);
                input.addEventListener('blur', function(e) {
                    if (this.value === '') {
                        PlaceHolder._setValue(this);
                    }
                }, false);
            }
        }
    },

    _setValue: function(input) {
        input.value = input.attributes.placeholder.nodeValue;
        input.className = PlaceHolder.className;
    }
};

//頁面初始化時對所有input做初始化
//PlaceHolder.init();
//或者單獨設置某個元素
//PlaceHolder.create(document.getElementById('t1'));

來源:cnblogs//所屬分類:XHTML教程/更新時間:2012-08-12
相關XHTML教程