使用jQuery删除位于textarea顶部的标签

时间:2012-06-18 08:57:57

标签: jquery textarea label

我目前有一个label绝对位于textarea内。

我正在尝试以下工作:

点击textarea后,让label消失。点击textarea外部后,检查是否有我添加的内容。如果没有,请将label放回去。如果是,请将其删除。

jsFiddle is here

我尝试使用$('html').click(),但它似乎会干扰textarea点击。

3 个答案:

答案 0 :(得分:5)

您需要专注和模糊工作演示http://jsfiddle.net/tDHwZ/10/

 $('#comment').focus(function() {
            $(this).prev().hide()  
        });
 $('#comment').blur(function() {
            if($(this).val()=='')
           $(this).prev().show()  
        });

答案 1 :(得分:2)

对于这种情况,将 .click()事件替换为 .blur(),您应该达到预期效果。

您可以查看以下链接:

http://jsfiddle.net/tDHwZ/27/

$(document).ready(function(){

    $('#comment').blur(function() {

        if($('#comment').val()!= "") {
           $('label[for=comment]').addClass('hidden');    
        } else {
           $('label[for=comment]').removeClass('hidden');                
        }



        if($('label[for=comment]').hasClass('hidden')) {
            $('label[for=comment]').hide();

        } else {
            $('label[for=comment]').show();
        }
    });

});

答案 2 :(得分:0)

如果你使用HTML5,那么占位符属性肯定会处理这个问题。或者如果不是HTML5,那么这可能有助于http://trevordavis.net/blog/jquery-inline-form-labels