|
|
基于jquery实现的:
1.在textarea上绑定blur,keyup,scroll事件去check文本框的变化
2.check方法(scrollHeight)
var TEXTAREADATA = {minHeight:15,maxHeight:45,limitHeight:42};function checkIt(element){//element指textareavar minLimit = parseInt(TEXTAREADATA.minHeight,10);if (!$.browser.mozilla){minLimit += 10;}if (element[0].scrollHeight <= minLimit){element.css('height', TEXTAREADATA.minHeight);return false;}if (element[0].scrollHeight > TEXTAREADATA.limitHeight){element.css('height', TEXTAREADATA.maxHeight);return false;}else{var newHeight = element[0].scrollHeight;if (!$.browser.mozilla){ //在FF下scrollHeight不包括padding设置的值。newHeight = newHeight - 10;//10这个值需要看textarea框样式,如果未设置padding,就不需要这个处理。}element.css('height', newHeight);}}
在IE会随着textarea的内容变化加减行,但是FF下只有在blur事件触发后才会减行。加行都是OK的。 |
|