Je voudrais avoir un gestionnaire personnalisé pour le bouton Enregistrer. P>
Comment puis-je remplacer la commande par défaut? p>
5 Réponses :
CKEDITOR.plugins.registered['save']=
{
init : function( editor )
{
var command = editor.addCommand( 'save',
{
modes : { wysiwyg:1, source:1 },
exec : function( editor ) {
//YOUR CODE
}
}
);
editor.ui.addButton( 'Save',{label : 'YOUR LABEL',command : 'save'});
}
}
Si vous souhaitez remplacer la commande économiser em> pour une seule instance, vous pouvez essayer le code suivant: var editor = $('#myTextarea').ckeditorGet(); // Retrieving CKeditor instance with jQuery
editor.getCommand('save').exec = function(editor) {
// Do whatever you need to
...
return true;
};
Si vous écrasez la fonction EXEC comme celle-ci, elle sera appelée sans paramètres. Mais puisque vous avez normalement la variable code> éditeur code> dans la portée extérieure, vous pouvez toujours travailler avec elle. N'oubliez pas de laisser le paramètre code> éditeur code> dans la définition de la fonction, car il écraserait votre éditeur code> Editeur code>.
the Réponse supérieure actuelle foiré la barre d'outils de la barre d'outils pour moi (mettre le bouton Enregistrer À la fin), et le Autre réponse n'a pas fonctionné dans CKEdititor V4.
Voici comment le faire dans ckeditor 4: p>
html: p> javascript: p>
function configureEditor(id) {
var editor = CKEDITOR.replace(id);
editor.on("instanceReady", function () {
// overwrite the default save function
editor.addCommand("save", {
modes: { wysiwyg: 1, source: 1 },
exec: function () {
// get the editor content
var theData = editor.getData();
alert("insert your code here");
}
});
editor.ui.addButton('Save', { label: 'My Save', command: 'save', enabled: 'true' });
var saveButton = $('#cke_' + id).find('.cke_button__save');
saveButton.removeClass('cke_button_disabled');
});
}
in ckedititor 4, le plugin de sauvegarde est censé être annulé. Si vous ne savez pas, on peut toujours jeter un coup d'œil sur le Source . Vous pouvez annuler l'événement et appliquer votre propre logique dans un gestionnaire, comme dans cet exemple:
//assuming editor is a CKEDITOR.editor instance
editor.on('save', function (event) {
event.cancel();
//your custom command logic
//(you can access the editor instance through event.editor)
});