Ich habe ein Problem mit sortierbaren Methode CKEditor 4 und jQuery UI, wo, wenn ich einen Container, der eine CKEditor-Instanz hat, sortiert, entfernt den Wert und löst den Fehler "Uncaught TypeError: Die Methode 'getSelection' von undefined kann nicht aufgerufen werden. Es macht auch den Editor nicht editierbar. Ich konnte das in CKEditor 3 mit einem der folgenden Hacks umgehen: CKEditor freezes on jQuery UI ReorderCKEditor 4 und jQuery UI sortierbar entfernt Inhalt nach dem Sortieren
Mit Blick auf den Chrome DOM Inspektor scheint es, dass der Inhalt des Iframe entfernt wird.
Unten finden rohen Testcode:
<html> <head> <title>test</title> <script src="//ajax.googleapis.com/ajax/libs/jquery/1.8.1/jquery.min.js"></script> <script src="//ajax.googleapis.com/ajax/libs/jqueryui/1.8.24/jquery-ui.min.js"></script> <script src="ckeditor.js"></script> <script type="text/javascript"> $(function(){ var tmpStore = {}; $('#sortable').sortable({ cursor: 'move', // Hack that use to work on V3 but not on V4: // https://stackoverflow.com/questions/3379653/ckeditor-freezes-on-jquery-ui-reorder start:function (event,ui) { $('textarea').each(function(){ var id = $(this).attr('id'); tmpStore[id] = CKEDITOR.instances[id].getData(); }) }, stop: function(event, ui) { $('textarea').each(function(){ var id = $(this).attr('id'); CKEDITOR.instances[id].setData(tmpStore[id]); }) } }); $('textarea').each(function(){ var ckId = $(this).attr('id'); config = {}; CKEDITOR.replace(ckId, config); }) }) li { padding: 10px; width: 800px; height: 300px; } </head> <body> <ul id="sortable"> <li><textarea id="test1" name="test1">test1</textarea></li> <li><textarea id="test2" name="test1">test2</textarea></li> <li><textarea id="test3" name="test1">test3</textarea></li> </ul> </body> </html>
Bekommen Sie die Lösung? –