Диалог пользовательского интерфейса ckeditor и jquery не работает
Автор вопроса: mauzillaОтветов: 3
Я бесконечно пытался, теперь вы разрешите эту крайне разочаровывающую ситуацию, в которой я оказался. Я пытаюсь заставить ckEditor работать в диалоговом окне пользовательского интерфейса jQuery. Редактор включен отлично, и он заменяет текстовое поле на скин ckeditor, но я не могу редактировать/добавлять контент в блоке контента. Единственное рабочее решение, которое я видел сейчас, это если я нажму "Исходный код" в редакторе и отменю его, я смогу добавить к нему контент.
Моя реализация была просто <script type='text/javascript' src='ckeditor/ckeditor.js'></script>, и я не добавлял никакой дополнительной информации/кода. Любые идеи?
Для версий jQuery-UI (1.10+) и jQuery (1.10+) и CKEditor 3.6 это решение похоже работает:
_moveToTop: function( event, silent ) {
var $parent = this.uiDialog.parent();
var $elementsOnSameLevel = $parent.children();
var heighestZIndex = 0;
$.each($elementsOnSameLevel, function(index, element) {
var zIndexOfElement = $(element).css('z-index');
if (zIndexOfElement) {
var zIndexOfElementAsNumber = parseInt(zIndexOfElement) || 0;
if (zIndexOfElementAsNumber > heighestZIndex) {
heighestZIndex = zIndexOfElementAsNumber;
}
}
});
var currentZIndex = this.uiDialog.css('z-index');
var moved;
if (currentZIndex >= heighestZIndex) {
moved = false;
} else {
this.uiDialog.css('z-index', heighestZIndex + 1);
moved = true;
}
if ( moved && !silent ) {
this._trigger( "focus", event );
}
return moved;
}
Вы можете либо отредактировать файл в строке (не рекомендуется), либо просто переопределить функциональность jQuery-UI по умолчанию в отдельном файле JS, который загружается после jQuery-UI, но до создания диалогового окна.
В качестве альтернативы, чтобы сохранить анимацию "показать" и "скрыть", создайте свой экземпляр редактора после завершения события "показать" с функцией обратного вызова для завершения: опция "показать"