2017-05-10 2 views
0

Ich möchte Keydown-Ereignis von ckeditor aber für die Verwendung von Instanz in AngularJS erhalten. Ich erstelle eine Direktive und sende Keydown-Event an meine Scope-Funktion. Aber ich habe viele Sponsoren auf meiner Seite. Jedes Keydown, ich bekomme Keydown Event von allen meinen Ckeditor Instanzen.Keydown-Ereignis CKEditor mit Instanz

Richtlinie:

app.directive('ckEditor', function() { 
    return { 
    require: '?ngModel', 
    link: function (scope, elm, attr, ngModel) { 
     var ck = CKEDITOR.replace(elm[0]); 
     if (!ngModel) return; 

     ck.on('pasteState', function() { 
     scope.$apply(function() { 
      ngModel.$setViewValue(ck.getData()); 
     }); 
     var editable = ck.editable(); 

     editable.attachListener(ck.document, 'keydown', function(event) { 
      scope.keyboard_events(event); 
     }); 
     }); 

     ngModel.$render = function(value) { 
     ck.setData(ngModel.$viewValue); 
     }; 

    } 
    }; 
}); 

Mein Controller:

$scope.keyboard_events = function(event) { 
    console.log("agora sim ") 
} 

Antwort