Kendo UI - 占位符 - 风格

时间:2012-10-02 20:35:40

标签: styles datepicker kendo-ui placeholder

我有一个带占位符数据的Kendo UI datepicker。这是HTML:

<input type="text" class="datepicker"' placeholder="yyyy-mm-dd" />

这是JavaScript:

var start = $(".datepicker").kendoDatePicker({
        format: "yyyy-MM-dd",
        parseFormats: ["MM/dd/yyyy"],
        change: startChange
    }).data("kendoDatePicker");

Kendo UI datepicker以与用户输入数据相同的样式显示占位符数据。我想以不同的方式设置占位符数据的样式。具体来说,我希望文本是灰色和斜体。当用户输入数据时,样式将更改为纯黑色(非斜体)。有关如何做到这一点的任何想法?

2 个答案:

答案 0 :(得分:5)

嗯,placeholder是一个HTML5属性,并不是Kendo控件的特定内容。据我了解,Kendo不支持占位符而不支持浏览器支持的内容,并且请记住只有部分浏览器支持此属性。 IE没有。 无论如何,要设置占位符的样式,您必须使用供应商前缀CSS属性see here

答案 1 :(得分:4)

我使用此..它将适用于您的HTML,您也可以设置样式:)

    <script>
    // This adds 'placeholder' to the items listed in the jQuery .support object. 
    jQuery(function() {
        jQuery.support.placeholder = false;
        test = document.createElement('input');
        if('placeholder' in test) jQuery.support.placeholder = true;
    });
    // This adds placeholder support to browsers that wouldn't otherwise support it. 
    $(function() {
        if(!$.support.placeholder) { 
            var active = document.activeElement;
            $(':text').focus(function () {
                if ($(this).attr('placeholder') != '' && $(this).val() == $(this).attr('placeholder')) {
                    $(this).val('').removeClass('hasPlaceholder');
                }
            }).blur(function () {
                if ($(this).attr('placeholder') != '' && ($(this).val() == '' || $(this).val() == $(this).attr('placeholder'))) {
                    $(this).val($(this).attr('placeholder')).addClass('hasPlaceholder');
                }
            });
            $(':text').blur();
            $(active).focus();
            $('form:eq(0)').submit(function () {
                $(':text.hasPlaceholder').val('');
            });
        }
    });
    </script>