2017-05-10 8 views
0

저는 ckeditor의 keydown 이벤트를 얻고 싶지만 AngularJS에서는 인스턴스를 사용하고 싶습니다. 지침을 작성하고 keydown 이벤트를 내 범위 기능에 보냅니다. 하지만 내 페이지에는 많은 편집자가 있습니다. 각 keydown, 나는 모든 ckeditor 인스턴스의 keydown 이벤트를받습니다.Keydown 이벤트 인스턴스를 사용하는 CKEditor

지침 :

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

    } 
    }; 
}); 

내 컨트롤러 :

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

답변