长按键时自动调整大小

时间:2015-03-03 13:46:06

标签: javascript angularjs tinymce tinymce-4

遇到连续按下某个字符键时无法自动调整大小的问题。虽然在离开钥匙时高度会调整。

有没有办法在按键事件时自动调整大小。 我正在使用angularjs ui-tinymce。

1 个答案:

答案 0 :(得分:1)

ui-tinymce项目没有提供任何处理手动调整大小的服务。 假设有一个(名为$ tinyInstance),你可以这样做:

是的,你可以这样做:

<textarea 
  data-ui-tinymce 
  data-ng-keypress="resizeTmce()"
  data-ng-model="tinymce"
 >
</textarea>

function yourCTRL($scope,$tinyInstance){
  $scope.resizeTmce = $tinyInstance.resize;
}

但事实并非如此。

所以你有两个解决方案。 一个肮脏的解决方案:

<textarea 
  id = "tinymce"
  data-ui-tinymce 
  data-ng-keypress="resizeTmce()"
  data-ng-model="tinymce"
 >
</textarea>

function yourCTRL($scope){
  $scope.resizeTmce = function(){
     $('#tinymce').resize() ...
  } ;
}

第二种,遵循Angular代码设计的正确方法是创建一个指令来处理这项工作。

不要使用jQuery来调整DOM元素的大小,而是查看the tinymce API about resizable

目标将是您的模板:

<textarea 
  data-ui-tinymce 
  data-ui-tiny-resize-onkeypress
  data-ng-model="tinymce"
 >
</textarea>

或者,第三个解决方案,如果您认为可以,请分叉github存储库并提交PR以在按键时自动调整大小而不是按键离开。 如果没有,feel free to post an issue on the project