在backbone中,如何基于其他事件异步添加事件。我想允许在某组按钮上使用单击处理程序,但要等到它们的包含按钮被单击后才允许。下面是我目前的设置:
var ProductsView = Backbone.View.extend({
events : {
"click .filter-options-container" : "filterOptionContainerClick"
},
filterOptionContainerClick: function(e){
$(e.currentTarget).addClass('active');
//want to add an event to all .filter-options to allow them to trigger the filterOptionClick function when clicked
},
filterOptionClick: function(e){
$('.filter-option').removeClass('active');
$(e.currentTarget).addClass('active');
$('.filter-options-container').removeClass('active');
}
});
return ProductsView;
1条答案
按热度按时间7dl7o3gd1#
您可以使用另一种方法,而不是在每次单击容器时都为子按钮添加
click
处理程序:1.使用
events
Map注册一次子按钮click
处理程序1.将布尔属性添加到视图以存储容器的状态,单击
1.切换
filterOptionContainerClick
处理程序中属性1.取决于属性的值,允许/不允许单击子按钮
因此,代码应如下所示: