Durandal은 뷰 모델을 바인딩하기 전에 바인딩하고 jquery를 사용하여 요소 크기를 확인하려고하면 항상 0을 반환합니다. jQuery가 보이지 않는 요소의 올바른 크기를 얻을 수 없거나 보이지 않는 컨테이너에 있습니다.Durandal 작성시 올바르지 않은 바인딩 처리
ellipsis와 나머지 텍스트를 라인의 일부 번호와 텍스트를 제한하고 대체 내 바인딩 핸들러, durandal 페이지를 바인딩 할 때 작동하지만, 요소
ko.bindingHandlers.ellipsis = {
update: function (element, valueAccessor, allBindings, viewModel, bindingContext) {
ko.bindingHandlers.text.update(element, valueAccessor);
var lines = allBindings.get('lines');
var $element = $(element);
var lineHeight = 1.3;
var heigth = lines * (+$element.css('font-size').substr(0, 2)) * lineHeight;
while ($element.outerHeight() > heigth) {
$element.text(replaceLast);
}
function replaceLast(index, text) {
return text.replace(/\W*\s(\S)*$/, '...');
}
}
};
내가 볼 때, 두 번째 업데이트 후 작동하지 않습니다 jQuery.customSelect을 바인딩 처리기를 통해 사용하고 수동으로 콜백 바인딩을 사용했을 때도이 문제가 발생했습니다.