2

我目前有一个label绝对定位在文本区域内的。

我正在尝试使以下工作:

一旦我点击textarealabel就会消失。一旦我点击外部textarea,检查是否有我添加的任何内容。如果没有,请放label后面。如果是,请忽略它。

jsFiddle 在这里

我试过了$('html').click(),但它似乎干扰了textarea点击。

4

3 回答 3

5

你想要焦点和模糊工作演示:http: //jsfiddle.net/tDHwZ/10/

 $('#comment').focus(function() {
            $(this).prev().hide()  
        });
 $('#comment').blur(function() {
            if($(this).val()=='')
           $(this).prev().show()  
        });
于 2012-06-18T09:02:33.113 回答
2

对于这种情况,通过用 .blur() 替换.click( )事件,您应该可以达到预期的结果。

您可以查看下面的链接:

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

$(文档).ready(函数() {

    $('#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();
        }
    });

});
于 2012-06-18T09:00:50.087 回答
0

如果您使用 HTML5,那么 placeholder 属性肯定会解决这个问题。或者如果不是 HTML5,那么这可能会有所帮助http://trevordavis.net/blog/jquery-inline-form-labels

于 2012-06-18T09:21:35.460 回答