처음으로 확인 : this fiddle을 확인하십시오.knockout을 통해 요소를 정렬 한 후 cleditor에 대한 사용자 지정 바인딩이 실패 함
나는 Knokout sortable 라이브러리로 만든 정렬 가능한 요소 배열을 가지고 있습니다. 처음에 바인딩을 적용 할 때 cleditor가 잘 초기화됩니다.
그러나 정렬 가능한 요소를 정렬 할 때 cleditor가 다시 초기화되지 않습니다 (어떤 일이 발생했는지는 확실치 않지만 cleditor가 실패 함). cleditor는 Firefox에서 실제 값 대신 "true"를 표시하고 다른 모든 브라우저에서는 아무것도 표시하지 않습니다.
문제가 어디에 있는지, 사용자 정의 바인딩, 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();
}
}
};
어떻게 분류기를 정렬 한 후에도 분류기를 작동하게 할 수 있습니까?
나는 this resource을 찾았지만, 그 주제에서 말한 것처럼 코드에서 아무 것도 발견되지 않았습니다.
다음
init
함수에서 :refresh
이<textarea>
에서 편집기의 값을 업데이트하기 때문에는 또한, 동기화에
<textarea>
값을 유지하는update
기능의 변화를 만들어 https://groups.google.com/forum/?fromgroups#!topic/cleditor/6W36CyPsaVU 이 토론에서 내가 가지고있는 문제를 정확하게 재현하지만 내가 refresh() 함수 오류가 아니므로 그것을 사용할 수 없습니다. 1.4.4 cleditor 버전을 사용합니다. –다음은 Knockout과 아무 관련이 없음을 보여주기 위해이 예제를 정리 한 것입니다. http://jsfiddle.net/mbest/rh8c2/ –