我有一个Backbone视图,呈现如下:
render: function() {
var context = {
...
};
this.$el.html(this.template(context));
_(this.some_views).each(function(view){
this.$el.find('#myDiv').append(view.el);
view.delegateEvents();
}, this);
}
上面的each
函数会在view.el
中附加#myDiv
并委派每个view
的事件
我的问题是它在IE上不起作用(8更具体)。 FF,Chrome等工作正常。
我已经尝试过appendTo,prepend,prependTo,我甚至检查了html标记是否有任何未关闭的标签。
我也尝试为每个view.el创建一个容器,将其清空然后追加到它,仍然没有。
_(this.some_views).each(function(view){
this.$el.find('#myDiv').append($('<div/>').addClass(view.cid));
this.$el.find('#myDiv').find('.' + view.cid).empty();
this.$el.find('#myDiv').find('.' + view.cid).append(view.el);
view.delegateEvents();
}, this);
我可以在IE中呈现每个view.el
的唯一方法是附加view.el.innerHTML
或view.$el.html()
...但这样就不再委托视图的事件。< / p>
之前有人偶然发现了这个?欢迎任何反馈!