如何根据点击按钮/链接启用或禁用div上的ckeditor.inline。
这是我在jquery中实现它的方法,但无法用angular来解决它。
$('.toggle-edit').click(function(e){
var id_editedDiv = $(this).data('editTarget');
var editedDiv = '#' + id_editedDiv;
if( $(editedDiv).attr('contenteditable') == 'true' )
{
$(editedDiv).attr('contenteditable','false');
CKEDITOR.instances.id_editedDiv.destroy();
$(this).text('Start Editing');
}
else
{
$(editedDiv).attr('contenteditable','true');
CKEDITOR.inline( id_editedDiv );
$(this).text('Finish Editing');
}
});
这就是我取得成果的方式。
https://plnkr.co/edit/YUOYGa?p=preview
但现在我需要弄清楚如何将模型绑定到CKEditor,以便在我点击保存时在模型中更新我的更改。
答案 0 :(得分:0)
您可以使用带有ng-click属性的按钮,例如:
do {
try managedObjectContext.save()
} catch {
fatalError("Failure to save context: \(error)")
}
在CKEditorController中你应该定义方法:
<button type="button" class="inlineEditButton"
ng-controller="CKEditorController"
ng-click="changeInlineEditindState()"
</button>
您可以执行以下操作:
$scope.changeInlineEditindState = function() {
// your code
}
创建实例后添加侦听器:
var content = '';
点击保存按钮:
ck.on('instanceReady', function () {
ck.setData(content);
});
答案 1 :(得分:0)
销毁编辑器实例,释放它使用的所有资源。如果编辑器替换了元素,则元素将被恢复。
在您的控制器中:
alert( CKEDITOR.instances.editor1 ); // e.g. object
CKEDITOR.instances.editor1.destroy();
alert( CKEDITOR.instances.editor1 ); // undefined