Warning: file_get_contents(/data/phpspider/zhask/data//catemap/9/javascript/374.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
Javascript 如果用户选择输入文本,且输入值为空字符串,是否可以保留占位符?_Javascript_Jquery_Css_Placeholder - Fatal编程技术网

Javascript 如果用户选择输入文本,且输入值为空字符串,是否可以保留占位符?

Javascript 如果用户选择输入文本,且输入值为空字符串,是否可以保留占位符?,javascript,jquery,css,placeholder,Javascript,Jquery,Css,Placeholder,输入可以设置占位符,但是如果用户专注于该输入,则占位符消失,我如何取消占位符,使用少于一个字符的用户开始类型??谢谢。使用占位符属性,您不能。不使用默认行为。但是,您可以通过在混合中添加一些JS来实现 现场小提琴: $('.placeholder')。每个(函数(){ $(this.data('占位符',$(this.attr('data-title')); $(this.val($(this.attr('data-title')); }); $('.placeholder').live('k

输入可以设置占位符,但是如果用户专注于该输入,则占位符消失,我如何取消占位符,使用少于一个字符的用户开始类型??谢谢。

使用
占位符属性,您不能。

不使用默认行为。但是,您可以通过在混合中添加一些JS来实现

现场小提琴:


$('.placeholder')。每个(函数(){
$(this.data('占位符',$(this.attr('data-title'));
$(this.val($(this.attr('data-title'));
});
$('.placeholder').live('keydown',function(){
if($(this.val()==$(this.data('placeholder')){
$(this.val(“”);
} 
});
$('.placeholder').live('blur',function(){
如果($(this).val().trim()=''){
$(this.val($(this.data('placeholder'));
}
});
注意:有一个限制,如果用户将一些文本粘贴到框中,它将无法清除,但是您也可以通过绑定到更改事件来轻松修复。这只是一个演示

<input type='text' class='placeholder' data-title='hello'>

$('.placeholder').each(function(){
    $(this).data('placeholder', $(this).attr('data-title'));
    $(this).val($(this).attr('data-title'));
});

$('.placeholder').live('keydown', function(){
    if ($(this).val() == $(this).data('placeholder')) {
        $(this).val('');         
    } 
});

$('.placeholder').live('blur', function(){
    if ($(this).val().trim() == '') {
        $(this).val($(this).data('placeholder'));
    }
});