在foreach数据绑定完成后执行某些操作
Do something when a foreach data-binding is completed
在我的表单中,列表是通过敲除来"填充"的。这是ul
代码:
<ul class="sortable ui-widget-content" data-bind="foreach: menus">
<li>
<a href="#" data-bind="attr: { title: name }, click: $parent.navigate">
<i data-bind="attr: { class: iconClass }"></i>
<span data-bind="text: title"></span>
</a>
</li>
</ul>
而且效果很好。我现在需要的是,当foreach
完成后,运行一段代码。关于如何实现这一点,有什么想法吗?
来自淘汰文档:(参见afterRender
,注释7)
如果您需要在生成的DOM上运行一些进一步的自定义逻辑元素,可以使用
afterRender/afterAdd/beforeRemove/beforeMove/afterMove
回调
<ul data-bind="foreach: { data: myItems, afterAdd: yellowFadeIn }">
<li data-bind="text: $data"></li>
</ul>
<button data-bind="click: addItem">Add</button>
<script type="text/javascript">
ko.applyBindings({
myItems: ko.observableArray([ 'A', 'B', 'C' ]),
yellowFadeIn: function(element, index, data) {
$(element).filter("li")
.animate({ backgroundColor: 'yellow' }, 200)
.animate({ backgroundColor: 'white' }, 800);
},
addItem: function() { this.myItems.push('New item'); }
});
</script>
你看起来像这样吗?
编辑:在这种情况下,afterRender
应该是正常的
相关文章:
- 单击元素两次后执行操作
- 如何在mvc3中执行操作而不更改当前页面
- jQuery onunload在按下按钮时执行操作
- 如果DOM发生更改,您将如何执行操作
- 在执行所有回调函数后执行操作
- JavaScript 对输入框执行操作
- 如何根据各种复选框状态执行操作
- 对页面重新加载 Jquery 执行操作
- jQuery如果大于则执行操作,但只执行一次
- ngStorage是否异步执行操作
- 如何逐一执行操作
- 只有当输入文本是example.com这样的域时才执行操作
- Javascript数学不起作用,更好的方式来执行操作
- Qubit在控制台中执行操作
- 停止setInterval,直到未执行操作
- 我如何使用javascript对音频标记执行操作
- JS 函数将对象作为输入,并返回一个对象,该对象对作为参数传递的对象执行操作
- 单击时执行操作多个具有相同类的 href
- 在 JavaScript 中传递指定秒数后如何执行操作
- 如何在对用户控件执行操作后调用 Web 服务