您提供的代碼正如您所說的那樣工作,重點在於編輯器。此外,由於在編輯器的開頭處設置了焦點,因此它只會對齊/對齊第一個塊元素(例如段落)。如果沒有聚焦編輯器,則無法使用此命令。
然而,要實現證明/對齊只有第一個塊元素,您可以使用一個小hackish的解決方案,並手動設置的元素風格(在它是正確的justify
插件識別的方式):
CKEDITOR.on('instanceReady', function(evt) {
if (evt.editor.name != undefined) {
if (evt.editor.name.indexOf('editor1') > -1) {
evt.editor.editable().getChild(0).setStyle('text-align', 'justify');
}
}
});
見working codepen。
這樣的解決方案有一些缺點(例如,它假定編輯器中的第一個元素是塊元素 - 在大多數情況下是這樣,等等),但是在大多數情況下應該足夠了。
順便說一句,如果編輯內容被選中的事實不打擾你,你想證明/對齊全部內容,它必須首先選擇(selectall
插件需要),如:
CKEDITOR.on('instanceReady', function(evt) {
if (evt.editor.name != undefined) {
if (evt.editor.name.indexOf('editor1') > -1) {
evt.editor.execCommand('selectAll');
evt.editor.execCommand('justifyblock');
}
}
});
當然你可能總是將選擇/聚焦在其他地方。
謝謝您的解決方案! ('focus',function(){ evt.editor.execCommand('justifyblock'); });我使用另一個關於事件 的竅門('focus',function(){ evt.editor.execCommand('justifyblock'); }); – hydrog3n