我正在使用CKEditor构建自定义文本编辑器,我想编写自己的JavaScript函数以将HTML插入到CKEditor窗口中。
CKEditor有一个名为editor.insertHtml()
的方法,它在文档中光标的位置插入HTML。可以从CKEditor插件中访问此方法,但我更愿意自由地在CKEditor之外编写自己的函数,然后将生成的HTML插入编辑器中。
那么如何访问editor.insertHtml()
?我在下面复制了我的代码。我尝试使用CKEDITOR.instances.editor1.insertHtml()
,但这不起作用。
这个问题CKEditor editor1.insertHtml() not working for me表明我需要倾听instanceReady
事件,但我不知道如何做到这一点,所以我希望得到更详细的解释。谢谢!
<html>
<head>
<meta charset="utf-8">
<script src="ckeditor/ckeditor.js"></script>
</head>
<body>
<textarea id="editor1"></textarea>
<script type="text/javascript">
// Replaces the <textarea id="editor1"> with a CKEditor
// instance, using default configuration.
CKEDITOR.replace( 'editor1',
{
height:"500", width:"1000"
});
</script>
<script type="text/javascript">
CKEDITOR.instances.editor1.insertHtml('<h1>someText</h1>');
</script>
</body>
</html>
答案 0 :(得分:3)
创建CKEDITOR实例,完全初始化并准备就绪时触发 互动。
您可以按如下方式使用它:
CKEDITOR.replace( 'editor1', {
height: '500',
width: '1000',
on: {
instanceReady: function() {
// this is current editor instance
this.insertHtml( '<h1>someText</h1>' );
}
}
} );
要使用实例的API,基本上将代码放在instanceReady
回调中。否则,您的代码将在编辑器尚未就绪时执行。