如何数据绑定.resizable()。draggable()?

时间:2011-06-14 03:29:45

标签: jquery jquery-ui knockout.js

我知道你可以这样做:

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

但你如何使用data-bind=""做同样的事情呢?

1 个答案:

答案 0 :(得分:15)

最简单的方法是为行为定义自定义绑定处理程序:

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>

这允许您将所需的任何选项传递给可调整大小和可拖动的调用。

示例:http://jsfiddle.net/rniemeyer/eCZH4/