如何在Marionette上绑定和解除绑定鼠标事件

时间:2013-12-11 17:47:05

标签: events backbone.js bind unbind marionette

我认为这个事件是:

    events:
        "click" : "clickContainer"

如何在同一个视图中取消绑定/绑定(启用和禁用)临时点击事件?

2 个答案:

答案 0 :(得分:1)

我在视图上有一个属性。像这样:

var View = Marionette.ItemView.extend({
    initialize: function() {
        this.clickEnabled = true;
    },
    events: {
        'click': 'clickContainer'
    },
    clickContainer: function() {
        if ( this.clickEnabled ) {
           // do stuff
        }
    }
});

然后,当您想要更改状态时,您只需更改该属性。

答案 1 :(得分:0)

另一种选择是删除事件地图并使用事件地图设置的手动版本。

onShow: function() {
  this.enableClick();
},

enableClick: function() {
  $(".clickContainer").on("click", this.onClickContainer);
},

disableClick: function() {
  $(".clickContainer").off("click", this.onClickContainer);
},

onClickContainer: function() {
  // do stuff
}