点击事件未启动!(backbone.js)
Click event not firing! (backbone.js)
我的视图有一个点击处理程序,但点击事件处理程序指向视图时,视图的el
$('#modal')
似乎不会在点击时激发。但是,当我以$('modal')
的任何子级为目标时,单击事件会在单击时触发。
我猜$('#modal')
没有被视为视图的一部分,所以在events
中定义的点击事件处理程序对它不起作用。如果是,有其他方法吗?
ModalView = Backbone.View.extend({
el: $('#modal'),
template: _.template( $('#tpl_modal').html() ),
events: {
'click #modal': 'closeModal'
},
initialize: function() {
_.bindAll(this, 'render', 'renderSimilarPosts', 'closeModal');
this.render();
},
render: function() {
$(this.el).fadeIn('fast').append( this.template( this.model.toJSON( this.model ) ) );
},
closeModal: function() {
// some code
}
});
而不是:
'click #modal': 'closeModal'
尝试:
"click": 'closeModal'
主干事件使用jQuery的delegate
函数,该函数将处理程序(在本例中为closeModal
)应用于匹配给定选择器(在本案中为click #modal
)的所有子级。由于使用click #modal
,我们正在#modal中查找名为#modal的子元素,因此找不到任何元素。
看看delegate()
,看看我的意思。
相关文章:
- backbone.js无法渲染视图
- 如何使用backbone.js从集合中获取模型名称
- Backbone.js restful json API design
- 2个backbone.js集合,具有相同的模型,但排序顺序不同
- Backbone.js micro templating
- FancyTree JS+Backbone.JS-将数据加载到FancyTree时出现问题
- Backbone.js将模型绑定到视图时出错
- minimy javascript是什么意思?Backbone.js
- Backbone.js视图中的多个模型
- 在哪里存储HTML模板以在Backbone.js中使用
- 带有jquery插件的backbone.js视图
- 在Backbone.js中为窗口对象指定变量
- 如何在Backbone.js中编写可重用的模型和视图
- Backbone.js批量更新集合
- 从模型传递id以查看Backbone.js
- Backbone.js中的名称间距
- 一种将Apache Thrift JS绑定与Backbone.JS一起使用的方法
- 在Backbone.js中将回调绑定到此
- Backbone.js ListenToOnce被调用两次
- 使用Backbone.js访问JSON响应的部分