对于我正在开发的项目,我们希望创建一个商品模块,用户可以根据动态值生成商品。该模块具有html预览版,可以作为pdf版本下载,并发送给客户。
生成包含所有数据的html页面。这是在视图中使用ng-model
完成的。接下来,我们使用jQuery模拟多个页面,检查每个元素是否在页面之外(每个页面的最小和最大高度为29,7cm)。此功能已经修复,因此我们知道这有效。
问题在于,当用户输入textarea
时,我们想检查textarea是否在页面之外流动,如果是,我们想要切断发生溢出的textarea
并使用jQuery创建一个新的textarea
,并使用ng-model
填充剩余的字符。
我们已经考虑将所有角色分成一个数组,但到目前为止没有运气将其合并到ng-model
中。 First approach,Second approach
所以问题是,是否可以检查溢出是否发生,如果是,创建一个具有相同ng-model
的新textarea?任何帮助是极大的赞赏。
答案 0 :(得分:1)
是的,有可能,我已经创建了一个基本示例,如何跟踪溢出并添加新的textarea。
检查小提琴
<强> http://jsfiddle.net/88TzF/559/ 强>
app = angular.module('myApp', []); app.directive("scrolls", function ($window) { return { restrict : 'C', link : function(scope, element, attrs) { console.log(element); angular.element(element).bind("scroll", function() { console.log(this.scrollTop); var newarea = angular.element(document.getElementById('newarea')); if(this.scrollTop > 0 ) { var appendTextbox= '<textarea width="200px" class="scrolls" style="height:130px;overflow-y:scroll "></textarea>'; newarea.append(appendTextbox); var childrens = newarea.children(); var textList = angular.element(document.getElementsByClassName('scrolls')); var tofocus = textList[textList.length-1]; console.dir(textList.length); angular.element(tofocus).attr('autofocus','true'); } }); } }; });