首页前端开发HTMLSencha toucha2中设置文本框默认提示文字的PlaceHolder属性的颜色

Sencha toucha2中设置文本框默认提示文字的PlaceHolder属性的颜色

时间2024-01-25 12:50:19发布访客分类HTML浏览913
导读:收集整理的这篇文章主要介绍了html5教程-Sencha toucha2中设置文本框默认提示文字的PlaceHolder属性的颜色,觉得挺不错的,现在分享给大家,也给大家做个参考。小宝典致力于为广大程序猿(媛)提供高品质的代码服务,请大家多...
收集整理的这篇文章主要介绍了html5教程-Sencha toucha2中设置文本框默认提示文字的PlaceHolder属性的颜色,觉得挺不错的,现在分享给大家,也给大家做个参考。小宝典致力于为广大程序猿(媛)提供高品质的代码服务,请大家多多光顾小站,小宝典在此谢过。

在做项目时,我想让一个文本框的提示文字变色,显得更醒目。但是默认的PlaceHolder颜色是灰色的。经过多次尝试和查资料,终于搞懂了。只需要一个CSS样式就可以了。

HTML5对Web Form做了许多增强,比如input新增的tyPE类型、Form Validation等。Placeholder是HTML5新增的另一个属性,当input或者textarea设置了该属性后,该值的内容将作为灰字提示显示在文本框中,当文本框获得焦点时,提示文字消失。以前要实现这效果都是用JavaScript来控制才能实现:
[html]
input id="t1" type="text" placeholder="请输入文字" />  

由于placeholder是个新增属性,目前只有少数浏览器支持,如何检测浏览器是否支持它呢?(更多HTML5/CSS3特性检测可以访问)
[javascript] 
function hasPlaceholderSupport() {  
  return 'placeholder' in document.createElement('input');  
}  

默认提示文字是灰色的,可以通过CSS来改变文字样式:

[css]
/* all */ 
::-webkit-input-placeholder { color:#f00; }  
input:-moz-placeholder { color:#f00; }  
  
/* inpidual: 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; }  
  
/* inpidual: 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的浏览器:

[css] 
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'));  

在做项目时,我想让一个文本框的提示文字变色,显得更醒目。但是默认的PlaceHolder颜色是灰色的。经过多次尝试和查资料,终于搞懂了。只需要一个CSS样式就可以了。

HTML5对Web Form做了许多增强,比如input新增的type类型、Form Validation等。Placeholder是HTML5新增的另一个属性,当input或者textarea设置了该属性后,该值的内容将作为灰字提示显示在文本框中,当文本框获得焦点时,提示文字消失。以前要实现这效果都是用JavaScript来控制才能实现:
[html]
input id="t1" type="text" placeholder="请输入文字" />  

由于placeholder是个新增属性,目前只有少数浏览器支持,如何检测浏览器是否支持它呢?(更多HTML5/CSS3特性检测可以访问)
[javascript] 
function hasPlaceholderSupport() {  
  return 'placeholder' in document.createElement('input');  
}  

默认提示文字是灰色的,可以通过CSS来改变文字样式:

[css]
/* all */ 
::-webkit-input-placeholder { color:#f00; }  
input:-moz-placeholder { color:#f00; }  
  
/* inpidual: 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; }  
  
/* inpidual: 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的浏览器:

[css] 
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'));  

觉得可用,就经常来吧! 欢迎评论哦! html5教程,巧夺天工,精雕玉琢。小宝典献丑了!

声明:本文内容由网友自发贡献,本站不承担相应法律责任。对本内容有异议或投诉,请联系2913721942#qq.com核实处理,我们将尽快回复您,谢谢合作!

ClassCSScss3divHTMLhtml5letpost-format-gallerythis

若转载请注明出处: Sencha toucha2中设置文本框默认提示文字的PlaceHolder属性的颜色
本文地址: https://pptw.com/jishu/586536.html
四种常用HTML5移动应用框架的比较 Wix判断操作系统

游客 回复需填写必要信息