我正在尝试执行以下操作:
有什么建议吗?
答案 0 :(得分:2)
您可以收听focus
和blur
个事件:
var txt = document.getElementById('mytextarea');
txt.onfocus = function() {
this.style.height = '150px';
};
txt.onblur = function() {
if(this.value === this.defaultValue) {
this.style.height = '';
}
};
#mytextarea {
height: 60px;
}
<textarea id="mytextarea">Foo</textarea>
如果textarea原来是空的,并且如果用户只输入了空格,您希望它恢复到原始大小,请在if
语句中检查
this.value.trim() === ''
答案 1 :(得分:0)
HTML:
<textarea style="height:60px;">
</textarea>
JavaScript的:
$(document).on('click', 'textarea', function(){
$(this).css('height', '150px');
});
$(document).on('focusout', 'textarea', function(){
var inside=$(this).val().trim();
if (inside.length){
$(this).css('height', '150px');
}
else{
$(this).css('height', '60px');
}
});
答案 2 :(得分:0)
试试这个:
<强> http://jsfiddle.net/UnTtR/3/ 强>
$(document).ready(function(){
$("#mytextarea").focus(function(){
$("#mytextarea").animate({"height":"150px"}, 1000);
});
$("#mytextarea").blur(function(){
$("#mytextarea").animate({"height":"60px"}, 1000);
});
});