jquery - 为 knockout "if"绑定(bind)添加效果

标签 jquery knockout.js

我在 Knockout.js 文档中找到了有关如何在切换可见绑定(bind)甚至使用“foreach”绑定(bind)的 beforeRemove 事件时添加 jquery 效果的示例。

但是,我还没有找到如何在切换“if”绑定(bind)时添加 jquery 效果

考虑以下代码:

<table data-bind="with: myModel">
 <tr data-bind="if: IsVisible">
<td>some string</td>
 </tr>
</table>

当 IsVisible 返回 true 时,如何添加 jquery fadeIn 效果?

最佳答案

您不能直接使用 if 绑定(bind),但在 if 绑定(bind)中使用自定义绑定(bind)可以解决问题:

<table data-bind="with: myModel">
    <tr data-bind="if: IsVisible">
        <!--ko fadeIn: true-->
        <td>some string</td>
        <!--/ko-->
    </tr>
</table>

处理程序:

ko.bindingHandlers.fadeIn = {
    init: function(element) {
        $(ko.virtualElements.childNodes(element))
            .filter(function () { return this.nodeType == 1; })
            .hide()
            .fadeIn();
    }
};
ko.virtualElements.allowedBindings.fadeIn = true;

示例:http://jsfiddle.net/mbest/fpnTH/

关于jquery - 为 knockout "if"绑定(bind)添加效果,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/15510178/

相关文章:

javascript - Knockout.js 映射插件如何更新数据

javascript - 切换 DIV 标记内的 Bootstrap 列属性

jquery - 与 LIKE 匹配的客户端自动完成

javascript - Velocity JS动画运行时忽略点击事件

javascript - 从侧面菜单对表格进行排序

javascript - 当 View 模型属性更改复选框值时收到通知

javascript - Knockoutjs 立即验证

jquery - 日期选择器在页面加载期间设置日期

javascript - View 模型外的 Knockout.js 调用方法

javascript - knockout 帮助获取外部数据