美文网首页
2018-12-03

2018-12-03

作者: 翔子1987 | 来源:发表于2018-12-24 10:26 被阅读0次

// 文档结构如下:
// <p>this is a p tag</p>
// <p>这是一段带<strong>加粗</strong>标记的文字</p>
// <p>我有两个秘密</p>
// <ul>
// <li>其一:我个子特别高</li>
// <li>其二:我体重特别沉</li>
// </ul>

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

在首段落增加"①②"两个字符

// end:段落内末尾
// 0:段落内开头第0个位置
// 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');
});

// 在第二个段落上,因为有strong标记的存在,所以如果想在加粗的部分增加文字,则需要如下代码
var txt = '③④';
var paragraph = editor.model.document.getRoot().getChild(1);
editor.model.change( writer => {
writer.insertText(txt, {bold:true}, paragraph, 6);
});
// 如果你事先不知道光标处有什么属性怎么办呢?
// 可以通过editor.model.document.selection.getAttributes()拿到光标处的属性
// 然后修改上面的代码如下即可:
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>这是一个‘P’标记,右边这个部分会被加粗 →→ <strong>我是加粗的</strong>。');
var modelFragment = editor.data.toModel( viewFragment );
editor.model.insertContent( modelFragment );

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

相关文章

网友评论

      本文标题:2018-12-03

      本文链接:https://www.haomeiwen.com/subject/cpxycqtx.html