Как привязать данные .изменяемый размер ().перетаскиваемый()?

#jquery #jquery-ui #knockout.js

#jquery #jquery-пользовательский интерфейс #knockout.js

Вопрос:

Я знаю, что ты можешь это сделать:

 $(".myClass").resizable().draggable();
  

но как бы вы использовали data-bind="" , чтобы сделать то же самое?

Ответ №1:

Самым простым способом было бы определить пользовательские обработчики привязки для поведения:

 ko.bindingHandlers.resizable = {
    init: function(element, valueAccessor) {
         var options = valueAccessor();
         $(element).resizable(options);
    }  
};

ko.bindingHandlers.draggable = {
    init: function(element, valueAccessor) {
         var options = valueAccessor();
         $(element).draggable(options);
    }  
};
  

Затем привяжите к нему, как:

 <div data-bind="resizable: { }, draggable: { }"></div>
  

Это позволяет передавать любые параметры, которые вы хотите, в вызовы resizable и draggable.

Пример:http://jsfiddle.net/rniemeyer/eCZH4 /

Комментарии:

1. Привет, я новичок в js! не могли бы вы, пожалуйста, сказать мне, что такое ko? я получаю сообщение об ошибке типа «ko не определен». Спасибо