javascript - 如何将 jquery 效果应用于 Knockout.js 创建的元素

标签 javascript jquery knockout.js

您好,我的 View 中有以下代码:

        <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();

有什么方法可以订阅元素添加到此列表后发生的事件吗?

最佳答案

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

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 .

关于javascript - 如何将 jquery 效果应用于 Knockout.js 创建的元素,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/13975537/

相关文章:

javascript - knockout JS : Unable to process binding "if: function (){return conversations }"

asp.net-mvc-3 - 使用 onlyIf 进行验证不起作用

javascript - 使用 Array.map (TypeScript) 返回通用数组

javascript - jquery 使用 waypoint 获取元素的 id

jquery - 如何使用 Bootstrap Tour 弹出窗口浏览选项卡?

jQuery 响应式切换菜单只工作一次

C# 单选按钮 oncheckchanged 未触发

javascript - 如何使用 JQuery 相互检查两个输入 [文本] 值?

javascript - Angular 指令从 Controller 访问模板元素

javascript - knockout 如何在 foreach 期间将自定义列添加到表