我在knockout.js文档中找到了一些关于如何在切换可见绑定甚至使用'foreach‘绑定的beforeRemove事件时添加jquery效果的示例。
但是,我还没有发现如何在切换"if“绑定时添加jquery效果
考虑以下代码:
<table data-bind="with: myModel">
<tr data-bind="if: IsVisible">
<td>some string</td>
</tr>
</table>
当IsVisible返回true时,我如何添加jquery fadeIn效果?
发布于 2013-03-20 05:33:57
您不能直接使用if
绑定,但是在if
绑定中使用自定义绑定可以做到这一点:
<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/
https://stackoverflow.com/questions/15510178
复制相似问题