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>

しかし、新しい要素ごとに、次のようなjQueryeffetを追加します。

        $("#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 に答える