在Ember.js中,我有一个
的视图{{#if obj.property}}
<div {{bindAttr class="prop"}}>content</div>
{{/if}}
如果将此元素插入到视图中,以及何时将类附加到元素上,我怎么能回调?我想这样做是因为CSS类是一个动画类,我想挂钩元素的onAnimationEnd事件,以便在动画结束时收到通知。
答案 0 :(得分:2)
如何将div更改为实现didInsertElement的自定义视图子类? e.g。
{{#if obj.property}}
{{view App.MyView}}
{{/if}}
和
App.MyView = Ember.View.extend({
classNameBindings: "prop",
didInsertElement: function() {
// use this.$() to get a jQuery handle for the element and do what you'd like
}
})
答案 1 :(得分:0)
除了Luke的答案,我发现了另一种实现这一目标的方法,这可能更为可取,因为Luke的方法需要创建一个视图。
通过利用DOM事件冒泡的事实,我可以在包含可能插入的内容的父DOM元素上为animationEnd设置事件处理程序。 E.g。
<div id="container">
{{#if obj.property}}
<div {{bindAttr class="prop"}}>content</div>
{{/if}}
</div>
// view.js
didInsertElment: function() {
this.$('#container').bind('webkitAnimationEnd', function(e) {
// e.target is the element whose animation ended.
}
}