2016-05-20 7 views
0

Ich Kendo UI-Editor mit AngularJS Verwendungändern Kendo ui-Editor auf keypress

<textarea kendo-editor 
    k-on-change="vm.bodyIsDirty = true" 
    k-options="vm.editorOptions" 
    ng-model="vm.myModel" 
    style="height: 320px;"> 
</textarea> 

ich aus der Dokumentation sehen, das Modell entsprechend auf Blur Ereignis aktualisiert worden ist, muss ich es auf Tastendruck aktualisiert haben ist das möglich?

+0

Basierend auf der [Dokumentation] (http : //docs.telerik.com/kendo-ui/api/javascript/ui/editor), es scheint nicht, dass es geändert werden kann. Es gibt jedoch nichts, was Sie daran hindert, ['ngKeypress'] (https://docs.angularjs.org/api/ng/directive/ngKeypress) anzuhängen und zu tun, was Sie tun müssen. –

+0

Danke, ng-keypress scheint nicht mit Kendo-Editor zu arbeiten, http://dojo.telerik.com/akozI – Petran

Antwort

0

Verwenden Sie das k-on-keyup Ereignis, wo 'updateNgModel()' eine Funktion in Ihrem $ Umfang in der Steuerung

Beispiel definiert ist:

<div id="example" ng-app="KendoDemos"> 
    <div ng-controller="MyCtrl"> 
      <textarea kendo-editor id="editor" k-on-keyup="updateNgModel()" k-ng-model="html"></textarea> 

     <div class="box wide"> 
      <textarea ng-bind-html="html" style="width: 100%; height: 5em"></textarea> 
     </div> 
    </div> 
</div> 

<script> 
    angular.module("KendoDemos", [ "kendo.directives", "ngSanitize" ]) 
     .controller("MyCtrl", function($scope){ 
      $scope.html = "<h1>Kendo Editor</h1>\n\n" + 
      "<p>Note that 'change' is triggered when the editor loses focus.\n" + 
       "<br /> That's when the Angular scope gets updated.</p>"; 

      $scope.updateNgModel= function() { 
       $scope.html = $("#editor").data("kendoEditor").value(); 
      } 
     }) 
</script>