Ckeditor 截获编辑击键
我可以在CKEditor(tab键)中截取击键并替换默认行为吗?我希望tab键插入一个带边距的div。Ckeditor 截获编辑击键,ckeditor,Ckeditor,我可以在CKEditor(tab键)中截取击键并替换默认行为吗?我希望tab键插入一个带边距的div。this.editorInstance.on('tab',function(evt){ this.editorInstance.on( 'tab', function(evt){ evt.editor.insertHtml('span style="margin-left: 40px;"> </span>'); evt.cancel();
this.editorInstance.on('tab',function(evt){
this.editorInstance.on( 'tab', function(evt){
evt.editor.insertHtml('span style="margin-left: 40px;"> </span>');
evt.cancel();
return false;
})
evt.editor.insertHtml('span style=“margin left:40px;“>”);
evt.cancel();
返回false;
})
我用稍微不同的方法解决了这个问题。我希望选项卡在所有行上对齐,而不是插入固定宽度的范围。因此,我插入了一个带有“pre”格式的制表符( 9)。我在insertHtml()方面也遇到了困难,不得不使用createFromHtml()和insertElement()的组合
以下是我的解决方案:
// my editor's id is 'summary'
CKEDITOR.replace('summary', { ... });
var editor = CKEDITOR.instances.summary;
editor.on('key', function(ev) {
if (ev.data.keyCode == 9) { // TAB
var tabHtml = '<span style="white-space:pre">	</span>';
var tabElement = CKEDITOR.dom.element.createFromHtml(tabHtml, editor.document);
editor.insertElement(tabElement);
ev.cancel();
}
});
//我的编辑器的id是“摘要”
CKEDITOR.replace('summary',{…});
var editor=CKEDITOR.instances.summary;
编辑者:开启('键',功能(ev){
如果(ev.data.keyCode==9){//TAB
var tabHtml=' ;';
var tabElement=CKEDITOR.dom.element.createFromHtml(tabHtml,editor.document);
编辑器.insertElement(tabElement);
ev.cancel();
}
});
我使用的是4.4.7版。至少在这里,只需编辑config.js
,就可以更改选项卡按键的行为。使用此代码,制表符缩进和SHIFT+制表符缩进:
config.keystrokes =
[
[ 09, 'indent' ],
[ CKEDITOR.SHIFT + 09, 'outdent' ]
];