4

我有 CkEditor 插件的以下代码片段(只是为了说明问题,它不是完整的生产代码):

onOk: function() {
    var dialog = this,
    element = dialog.element;
    .........   
    element.setStyle('width', width+'%');
    element.setStyle('text-align', align)
    dialog.commitContent(element); 
}

setStyle()在这个小代码片段中,使用方法对一个对话框元素进行了修改,然后commitContent触发。

所以,问题是:

  1. 我是否理解正确,setStyle这里的每个调用都会触发元素重新渲染(重新绘制),因为这element已经存在于 DOM 中?
  2. commitContent()ckEditor 方法的目的是什么?只是对话框元素存储一些数据的事件?
4

1 回答 1

0

设置样式

我相信重新绘制DOM 中已经存在setStyle的组件,看看这个例子(我取自官方文档):

var element = CKEDITOR.document.getById( 'myElement' );
element.setStyle( 'background-color', '#ff0000' );
element.setStyle( 'margin-top', '10px' );
element.setStyle( 'float', 'right' );

它首先从文档中获取元素,然后设置样式,所以基本上它正在修复它触发事件。

提交内容

从官方文档

调用每个 UI 元素的 CKEDITOR.dialog.definition.uiElement.commit 方法,并通过它传递参数。通常在用户确认对话框时调用它来处理值

希望这对您有所帮助!

于 2015-05-05T07:02:03.063 回答