【发布时间】:2015-05-16 07:16:41
【问题描述】:
我在我的 html 中使用引导选项卡,并在事件和模型中使用主干。我想为引导触发选项卡显示事件,以便我可以处理该事件以创建另一个视图(子视图)。
这是我的代码:
var HeaderView = Backbone.View.extend({
...
events : {
'shown.bs.tab ul.nav-tabs>li>a': 'onTabShown'
},
initialize:function() {
console.log("Header view initialize executing...");
this.template =_.template(UserTemplate, this.collection);
this.render();
this.$el.find('div.toolbar ul.nav-tabs>li:first>a').tab('show');
//$('ul.nav-tabs>li:first>a').tab('show');
},
onTabShown: function() {
console.log('tab shown event!');
}
...
}
但是,即使初始化代码成功执行,标签显示事件也不会触发。就此而言,initialize() 中引发的任何 UI 事件都不会触发。
如果我在创建后在视图模块之外调用事件触发器,这将起作用。
是否有可能没有触发 UI 事件,因为视图尚未完全初始化,因为 initialize 仍在执行?似乎解决方法是从该视图之外的一些其他代码调用选项卡显示事件的触发器。有没有更好的方法或做法?
【问题讨论】:
标签: twitter-bootstrap backbone.js