Jquery Datepicker占位符在模糊后不显示

时间:2015-07-16 11:13:24

标签: jquery datepicker

我有简单的2文字字段。一个是普通文本,另一个是我用于datepicker。我想清除占位符onfocus并再次显示onblur这是我正在使用的代码:

$('input,textarea').focus(function(){
    $(this).data('placeholder',$(this).attr('placeholder'))
    console.log($(this).data('placeholder'));
    $(this).attr('placeholder','');
});
$('input,textarea').blur(function(){
    console.log("adding "+$(this).data('placeholder'));
    $(this).attr('placeholder',$(this).data('placeholder'));
});

对于普通文本,它的工作正常但是对于datepicker文本字段占位符不会在模糊后出现。是否有任何解决方案,以便 datepicker文本字段可以表现得像简单的文本字段

尝试使用DEMO

2 个答案:

答案 0 :(得分:1)

由于日期选择器而触发了两个焦点事件。它第二次触发它就摆脱了属性占位符。因此,只需在存储.data()之前检查属性。像这样的东西应该这样做

$('input,textarea').focus(function () {
    if ($(this).prop('placeholder')) {
        $(this).data('placeholder', $(this).prop('placeholder'))
        $(this).prop('placeholder', '');
    }
});
$('input,textarea').blur(function () {
    if (!$(this).prop('placeholder')) {
        $(this).prop('placeholder', $(this).data('placeholder'));
    }
});

这是一个演示 http://jsfiddle.net/dhirajbodicherla/ndnxznn3/25/

答案 1 :(得分:0)

您可以为日期选择器添加例外,以便不会清除占位符:

$('input:not(#thedate),textarea:not(#thedate)').focus(function(){