因此,我正在为textareas开发一种自动调整大小的功能,以创建良好的UI体验,但是我发现的设置存在问题。
我在这里在线找到了这个工作版本:
http://www.brianchu.com/blog/2013/11/02/creating-an-auto-growing-text-input/
显然,您可以看到这可行。因此,我将其转换为有角度的,并一直在弄乱它,但是我不确定自己在做什么,这是不正确的。
我正在使用它作为指令,并且正在编译时运行所有代码,因此应该将所有元素和对象平稳地放置在一起,不是吗?
我将“进行中”的代码以及我一直在吐痰的小提琴的位置放在下面。
小提琴
https://jsfiddle.net/Mr_Pikachu/snszc0Lu/4/
当前代码
var a = angular.module('app', []);
a.directive('autoGrow', function($log, $compile, $document){
return {
compile : function(elem, attrs){
// define variable and function
var textContainer, textareaSize, input;
// set the parent class and recompile
input = angular.element('<textarea class="textarea-autogrow"></textarea>');
textareaSize = angular.element('<div class="textarea-size"></div>');
elem.append(input);
elem.append(textareaSize);
elem.addClass('textarea-container');
var autoSize = function(){
$log.log('fired');
textareaSize.innerHTML = input.value + "\n";
};
autoSize();
input.bind('input', autoSize);
}
};
});
当我们谈论您的问题是获取输入值时,您应该使用:
input[0].value
因此,它将从以下更改:
input
到input[0]
和textareaSize
到textareaSize[0]
本文收集自互联网,转载请注明来源。
如有侵权,请联系[email protected] 删除。
我来说两句