2017-05-10 3 views
0

Je veux obtenir l'événement keydown de ckeditor mais pour l'utilisation par exemple dans AngularJS. Je crée une directive et envoie un événement keydown à ma fonction scope. Mais j'ai beaucoup de ckeditors dans ma page. Chaque keydown, j'obtiens l'événement keydown de toutes mes instances de ckeditor.événement Keydown CKEditor en utilisant par exemple

directive:

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); 
     }; 

    } 
    }; 
}); 

Mon contrôleur:

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

Répondre