Прежде всего: проверьте эту скрипту.
У меня есть сортируемый массив элементов, созданный с помощью сортируемой библиотеки Knockout. Когда я изначально применяю привязку, cleditor инициализируется нормально.
Однако, когда сортируемые элементы сортируются, cleditor не может повторно инициализироваться (я не уверен, что происходит, но cleditor терпит неудачу). cleditor просто отображает «true» вместо фактического значения в Firefox и ничего во всех других браузерах.
Я пытаюсь выяснить, в чем проблема, будь то пользовательская привязка, jQuery-UI или сортируемая библиотека Knockout?
Я не получаю никаких ошибок в моей консоли.
ko.bindingHandlers.cleditor = {
init: function(element, valueAccessor, allBindingsAccessor) {
var modelValue = valueAccessor(),
allBindings = allBindingsAccessor();
var $editor = jQuery(element).cleditor({
height: 50,
controls: "bold italic underline | bullets numbering | undo redo"
});
$editor[0].change(function() {
var elementValue = $editor[0].doc.body.innerHTML;
if (ko.isWriteableObservable(modelValue)) {
modelValue(elementValue);
} else {
if (allBindings['_ko_property_writers'] && allBindings['_ko_property_writers'].cleditor) {
allBindings['_ko_property_writers'].cleditor(elementValue);
}
}
});
},
update: function(element, valueAccessor) {
var value = ko.utils.unwrapObservable(valueAccessor()) || '',
$editor = jQuery(element).cleditor();
if ($editor[0].doc.body.innerHTML !== value) {
//$editor[0].doc.body.innerHTML = value;
$editor[0].doc.body.innerHTML = value;
$editor[0].focus();
}
}
};
Как я могу заставить cleditor работать даже после того, как элементы отсортированы?
Я нашел этот ресурс, но ничего плохого не нашел в коде, как сказано в этой теме.