我目前有一个label
绝对定位在文本区域内的。
我正在尝试使以下工作:
一旦我点击textarea
,label
就会消失。一旦我点击外部textarea
,检查是否有我添加的任何内容。如果没有,请放label
后面。如果是,请忽略它。
我试过了$('html').click()
,但它似乎干扰了textarea
点击。
我目前有一个label
绝对定位在文本区域内的。
我正在尝试使以下工作:
一旦我点击textarea
,label
就会消失。一旦我点击外部textarea
,检查是否有我添加的任何内容。如果没有,请放label
后面。如果是,请忽略它。
我试过了$('html').click()
,但它似乎干扰了textarea
点击。
你想要焦点和模糊工作演示:http: //jsfiddle.net/tDHwZ/10/
$('#comment').focus(function() {
$(this).prev().hide()
});
$('#comment').blur(function() {
if($(this).val()=='')
$(this).prev().show()
});
对于这种情况,通过用 .blur() 替换.click( )事件,您应该可以达到预期的结果。
您可以查看下面的链接:
$(文档).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();
}
});
});
如果您使用 HTML5,那么 placeholder 属性肯定会解决这个问题。或者如果不是 HTML5,那么这可能会有所帮助http://trevordavis.net/blog/jquery-inline-form-labels