Używam inline Ckeditor, aby edytować zawartość. Domyślnie edytor inline jest aktywowany przez podwójne kliknięcie div za pomocą contenteditable="true". Chcę aktywować ten edytor Inline, gdy klikam przycisk i ukryj go, gdy kliknął kolejny przycisk. Oto przykład kodu HTML:

<html>
  <head>
    <script src="ckeditor/ckeditor.js"></script>
  </head>
<body>
   <div id="first" contenteditable="true">first</div>
   <div id="second" contenteditable="true">second</div>

   <input type="button" value="show inline editor">
   <input type="button" value="hide inline editor">
 </body>
</html>

JSFiddle pokazuje domyślne zachowanie i co chcę mieć http://jsfiddle.net/vdryl/

2
user2265529 8 grudzień 2013, 04:28

3 odpowiedzi

Najlepsza odpowiedź

Wydaje się, że CKeditor aktywuje okno edytora na focus elementu contenteditable, a nie na double-click. Możesz zrobić coś takiego, aby uzyskać przyciski do pracy,

http://jsfiddle.net/nagendra_rao/vdryl/1/

1
Nagendra Rao 8 grudzień 2013, 04:04

Możemy ukrywać i pokazać pasek narzędzi. Osiągnąłem tę funkcjonalność za pomocą następującego sposobu:

Otwórz plik ckeditor.js. I wklej poniższy kod na końcu pliku

$(document).ready(function () {  
   CKEDITOR.on('instanceReady', function (ev) {  
      document.getElementById(ev.editor.id + '_top').style.display = 'none';  


      ev.editor.on('focus', function (e) {  
         document.getElementById(ev.editor.id + '_top').style.display = 'block';  

      });  
      ev.editor.on('blur', function (e) {  
         document.getElementById(ev.editor.id + '_top').style.display = 'none';  

      });  
   });  
});
2
sAcH 9 luty 2018, 21:04

Możesz użyć focusManager.blur(true), aby ukryć pasek narzędzi.

http://jsfiddle.net/vdryl/24/

var cke = CKEDITOR.inline('target');

var btnClose = document.getElementById('btnClose');
btnClose.addEventListener('click', function(event){
cke.focusManager.blur(true);
});

Więcej informacji na temat FocusManager tutaj: http://docs.ckeditor.com/ #! / API / CKEDitor.focusManager-Method-Blur

1
GibboK 10 wrzesień 2015, 06:59