2018-12-03

// 文檔結(jié)構(gòu)如下:
// <p>this is a p tag</p>
// <p>這是一段帶<strong>加粗</strong>標(biāo)記的文字</p>
// <p>我有兩個(gè)秘密</p>
// <ul>
// <li>其一:我個(gè)子特別高</li>
// <li>其二:我體重特別沉</li>
// </ul>

var model = editor.model;
var schema = editor.model.schema;
var root = editor.model.document.getRoot();

在首段落增加"①②"兩個(gè)字符

// end:段落內(nèi)末尾
// 0:段落內(nèi)開(kāi)頭第0個(gè)位置
// before:段落前
// after:段落后

var txt = '①②';
var paragraph = editor.model.document.getRoot().getChild(0);
editor.model.change( writer => {
    writer.insertText(txt, {}, paragraph, 'end');
});
editor.model.change( writer => {
    writer.insertText(txt, {}, paragraph, 0);
});
editor.model.change( writer => {
    writer.insertText(txt, {}, paragraph, 'before');
});
editor.model.change( writer => {
    writer.insertText(txt, {}, paragraph, 'after');
});

// 在第二個(gè)段落上,因?yàn)橛衧trong標(biāo)記的存在,所以如果想在加粗的部分增加文字,則需要如下代碼
var txt = '③④';
var paragraph = editor.model.document.getRoot().getChild(1);
editor.model.change( writer => {
writer.insertText(txt, {bold:true}, paragraph, 6);
});
// 如果你事先不知道光標(biāo)處有什么屬性怎么辦呢?
// 可以通過(guò)editor.model.document.selection.getAttributes()拿到光標(biāo)處的屬性
// 然后修改上面的代碼如下即可:
editor.model.change( writer => {
writer.insertText(txt, editor.model.document.selection.getAttributes(), paragraph, 6);
});

// 插入一段html片段
var htmlDP = editor.data.processor;
var viewFragment = htmlDP.toView('<p>這是一個(gè)‘P’標(biāo)記,右邊這個(gè)部分會(huì)被加粗 →→ <strong>我是加粗的</strong>。');
var modelFragment = editor.data.toModel( viewFragment );
editor.model.insertContent( modelFragment );

// 獲取選中部分的模型(CKEditor5的模型)
var documentFragment = editor.model.getSelectedContent(editor.model.document.selection);

?著作權(quán)歸作者所有,轉(zhuǎn)載或內(nèi)容合作請(qǐng)聯(lián)系作者
平臺(tái)聲明:文章內(nèi)容(如有圖片或視頻亦包括在內(nèi))由作者上傳并發(fā)布,文章內(nèi)容僅代表作者本人觀點(diǎn),簡(jiǎn)書系信息發(fā)布平臺(tái),僅提供信息存儲(chǔ)服務(wù)。

推薦閱讀更多精彩內(nèi)容