【发布时间】:2013-04-12 08:21:31
【问题描述】:
我正在绑定backbone.js 的render 函数中的一些事件,更具体地说是click,但是,我无法让它工作。
我有一个类似(但非常简化)的设置:
App.ProductView = Backbone.View.extend({
className: 'title_products_tab',
el: $('.title_products_tab'),
events: {
'click .product_list .edit_product' : 'edit',
对于我的主干视图的事件部分。在渲染函数内我希望触发绑定.edit_productclick事件:
render: function(){
console.log($._data( $('.title_products_tab .product_list .edit_product')[0], "events" ));
$('.title_products_tab .product_list .edit_product').trigger('click');
这不起作用,元素的_data 未定义,但是,我知道该事件确实起作用,因为我的视图的其余部分相应地起作用。我似乎无法在启动时触发 render 或其他任何地方的事件。
我想:
this.trigger('click .product_list .edit_product');
会工作,但还是没有运气。
我也听说过bindAll,但听说使用它不是一个好主意。
那么我应该如何,或者更确切地说,我应该什么时候触发我的主干视图的启动事件?
【问题讨论】:
-
你什么时候调用你的渲染方法?在初始化方法中?
-
@Loamhoof 确实,在 init 方法中
标签: javascript jquery backbone.js