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) });