我想在Ckeditor文本区域窗口上单击以插入某些文本或html(默认值和重复)。
我创建了一个自定义插件,该插件可以在单击工具栏按钮时添加一些文本,或者在通过以下代码段单击textarea窗口时添加文本。
CKEDITOR.plugins.add( 'duppointer',
{
init: function( editor )
{
editor.addCommand( 'insertDup',
{
modes : { wysiwyg:1, source:1 },
exec : function( editor )
{
editor.insertText( '#' );
}
});
editor.on( 'contentDom', function(){
this.document.on( 'click', function() {
editor.insertText( '#' );
});
});
editor.ui.addButton( 'duppointer',
{
label: 'Insert Duplicate Text',
command: 'insertDup',
} );
}
} );
但是,我只想在工具栏按钮处于活动状态时在单击时插入文本,否则指针单击必须正常。
有可能实现这一目标吗?
答案 0 :(得分:2)
由于没有人响应,我开始深入研究API,并了解按钮的状态。最后,我得到了我一直在寻找的东西,如果方法正确,那不是对的,但是对我有用,
CKEDITOR.plugins.add( 'duppointer',
{
init: function( editor )
{
var ccommand = editor.addCommand( 'duppointer',
{
modes : { wysiwyg:1, source:1 },
exec : function( editor )
{
ccommand.toggleState();
},
editorfocus: true,
});
editor.on( 'contentDom', function(){
this.document.on( 'click', function() {
if(ccommand.state == CKEDITOR.TRISTATE_ON){
editor.insertText( '#' );
}
});
});
editor.ui.addButton( 'duppointer',
{
label: 'Insert Duplicate',
command: 'duppointer',
icon: this.path + 'images/dup.jpg'
} );
}
} );