将对话框字段值设置为所选文本
Set dialog field value as selected text
我想编写CKEditor插件。我在面板上添加了按钮,当我按下它时,会显示对话框。在此对话框中,我可以设置文本,并在确定后按下此文本插入编辑器。
但是我想添加功能。当我在编辑器中选择文本并按下此按钮时,我希望在该对话框字段中看到选定的文本。编辑并按Ok后,所选文本必须替换为新文本。
谢谢!
这不是
100%工作,第一部分正在工作,最终替换不是。
CKEDITOR.plugins.add( 'example',
{
init: function( editor )
{
editor.addCommand( 'exampleDialog', new CKEDITOR.dialogCommand( 'exampleDialog' ) );
editor.ui.addButton( 'example',
{
label: 'Insert a Link',
command: 'exampleDialog'//,
//icon: this.path + 'images/icon.png'
} );
CKEDITOR.dialog.add( 'exampleDialog', function( editor )
{
return {
title : 'example Properties',
minWidth : 400,
minHeight : 200,
contents :
[
{
id : 'general',
label : 'Settings',
elements :
[
{
type : 'text',
id : 'mystring',
label : 'text',
commit : function( data )
{
data.text = this.getValue();
}
}
]
}
],
onShow : function() {
//this._ranges = editor.getSelection().getRanges()
var mySelection = editor.getSelection().getSelectedText();
this.setValueOf("general","mystring",mySelection);
},
onOk : function()
{
var data = {};
this.commitContent( data );
var txt = data.text;
editor.insertText(txt); //this is not correct, since selection is being cleared...
}
};
});
}
});
我的解决方案是简单地将其设置为onShow函数:
onShow: function () {
this.setValueOf('my-tab-id', 'my-element-id', editor.getSelection().getSelectedText());
// ...
},
完整代码框架:
(function () {
CKEDITOR.dialog.add('mySelectorDialog', function (editor) {
return {
contents: [
{
id: 'my-tab-id',
label: 'My Tab Label',
elements: [
{
id: 'my-element-id',
type: 'text',
label: 'My Element Label'
}
// ...
]
}
],
onShow: function () {
this.setValueOf('my-tab-id', 'my-element-id', editor.getSelection().getSelectedText());
// ...
},
onOk: function () {
// ...
}
// ...
};
});
})();
相关文章:
- Javascript:是否可以在2D画布中为不同的文本设置不同的字体大小
- 我可以为高图表中的所有文本设置默认颜色吗?
- 如何将文本设置为画布圆形
- 将文本设置为google+共享按钮
- 在网格加载数据后,将行列文本设置为粗体
- 在WordPress中使用标题文本设置花哨的框标题
- 使用 JavaScript 将标签文本设置为跨度宽度
- 将文本设置为“来自 JavaScript 的输入”
- 如何使用 ExtendScript 在 InDesign 中以编程方式将文本设置为“小型大写字母”
- 如何从javascript var或输入类型文本设置php mysql
- 将段落文本设置为 JSON 数据结果
- AngularJS通过文本设置选定的选项
- 读取 HTML 并将文本设置为变量
- 如何使用jquery或javascript使用选定的下拉选项文本设置innerhtml
- 仅为附加文本设置字体大小
- jQuery-使用嵌套在optgroups中的值或文本设置选择框的选定选项
- 用图像和文本设置画布的背景颜色
- 单击文本并将文本设置/定义为javascript变量的值
- 如何将文本设置为货币格式
- 当使用 jQuery 从下拉列表中选择一个值时,将输入文本设置为只读