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