Le code que vous avez fourni fonctionne comme vous l'avez dit, en mettant l'accent sur l'éditeur. De plus, il ne justifiera/n'alignera que le premier élément de bloc (par exemple le paragraphe) car le focus est défini au début de l'éditeur. Il n'est pas possible d'utiliser cette commande sans éditeur de mise au point.
Cependant, pour parvenir à justifier/alignement seul élément de premier bloc, vous pouvez utiliser une petite solution hackish et le style d'ensemble d'éléments manuellement (d'une manière qu'il est correctement reconnu par justify
plug-in):
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');
}
}
});
Voir working codepen. Cette solution présente certains inconvénients (par exemple, il suppose que le premier élément de l'éditeur est un élément de bloc - ce qui est vrai dans la plupart des cas, etc.), mais devrait être suffisant dans la plupart des cas.
Par ailleurs, si le fait que le contenu de l'éditeur obtient sélectionné ne vous dérange pas et que vous voulez justifier/aligner le contenu ensemble, il doit d'abord être sélectionné (selectall
plug-in nécessaire), comme:
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');
}
}
});
Bien sûr, vous pouvez toujours déplacer la sélection/focus ailleurs plus tard.
Merci pour votre solution! J'utilise une autre astuce avec l'événement sur ('focus', function() { evt.editor.execCommand ('justifyblock'); }); – hydrog3n