2010-08-10 8 views
8

J'essaie d'appeler la fonction de fermeture de la boîte de dialogue CKEditor à partir de mon extension personnalisée. Tout comme cela se produit lorsque vous cliquez sur smile dans le plugin "smileys", mais je ne peux pas savoir comment faire la même chose dans mon propre plugin. Merci de répondre!Boîte de dialogue CKEditor close

J'ai la solution. Dans mon plugin, je devais appeler la fonction de fermeture de "CKEDITOR.dialog.add" dans la section "onLoad". Donc, je dois le faire:

CKEDITOR.dialog.add('plugin_name', function(editor){ 
    onLoad: function(event){ 
     [...some code...] 
     event.sender.hide(); 
    } 
} 

Répondre

20

CKEDITOR.dialog.getCurrent().hide()

+0

Merci, cela a fonctionné! –

1

Je vous propose le faire de la même manière il est fait par le plugin CKEditor dialogue interne. Voir la ligne 535 dans plugin.js

En cliquant sur le bouton ou en déclenchant l'événement d'annulation, vous assurez une manipulation correcte par le plugin.

Exemple de code

:

// If there's a Cancel button, click it, else just fire the cancel event and hide the dialog. 
     button = CKEDITOR.dialog.getCurrent().getButton('cancel'); 
     if (button) 
      CKEDITOR.tools.setTimeout(button.click, 0, button); 
     else { 
      if (CKEDITOR.dialog.getCurrent().fire('cancel', { hide : true }).hide !== false) 
      CKEDITOR.dialog.getCurrent().hide(); 
     } 
Questions connexes