7

您好,我认为我有以下代码:

        <div data-bind="foreach: Elements">
            <div data-bind="attr:{id: id}">
                <img data-bind="attr:{src: ImageSource}" />
                <p data-bind="text: Name"></p>
            </div>
        </div>

但是对于每个新元素,我想添加 jQuery 效果,例如:

        $("#draggable").draggable();

有没有办法订阅元素添加到此列表后发生的事件?

4

1 回答 1

10

最好的方法是使用自定义绑定。

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

    <div data-bind="foreach: Elements">
        <div data-bind="attr:{id: id}, draggable: {}">
            <img data-bind="attr:{src: ImageSource}" />
            <p data-bind="text: Name"></p>
        </div>
    </div>

在文档中阅读有关它的更多信息:http: //knockoutjs.com/documentation/custom-bindings.html

于 2012-12-20T15:41:08.127 回答