我知道如何使用CKEditor5 API获取数据,如文档和另一个SO post中所述。
但是,我怎么能得到纯文本?我试过跟随,但没有返回。
alert($(editorObj.element).val());
有趣的注意:如果TextArea与CKEditor绑定
,即使以下代码也不返回任何内容alert( $("#editor").val());
但如果我没有将TextArea与CKEditor绑定,那么它可以正常工作。
任何解决方案或反馈都将受到高度赞赏。
答案 0 :(得分:2)
CKEditor 5没有公开这样的方法,但您可以使用@ckeditor/ckeditor5-clipboard
包的其中一个工具 - viewToPlainText()
。
当用户从编辑器复制某些内容时,剪贴板功能使用它在剪贴板中设置text/plain
风格。
要使用它,您需要从源代码中使用CKEditor 5(因为此功能未公开显示)。您可以在CKEditor 5 Framework's Quick start指南中了解相关内容。
您可以使用此方法对整个编辑器的视图进行字符串化:
import viewToPlainText from '@ckeditor/ckeditor5-clipboard/src/utils/viewtoplaintext';
import ClassicEditorBuild from '@ckeditor/ckeditor5-build-classic/src/ckeditor';
ClassicEditorBuild
.create( element )
.then( editor => {
// Will get the stringified content.
console.log( viewToPlainText( editor.editing.view.getRoot() ) );
} )
.catch( error => {
console.error( error.stack );
} )
答案 1 :(得分:0)
好的,我找到了解决方法:
var plainText = $(editorObj.getData()).text();
在我们获得由库公开的正确解决方案或方法之前,我希望这种解决方法能够正常工作。