我目前有一个label
绝对位于textarea内。
我正在尝试以下工作:
点击textarea
后,让label
消失。点击textarea
外部后,检查是否有我添加的内容。如果没有,请将label
放回去。如果是,请将其删除。
我尝试使用$('html').click()
,但它似乎会干扰textarea
点击。
答案 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(),您应该达到预期效果。
您可以查看以下链接:
$(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