Backbone Bootstrap模态手柄关闭

时间:2015-08-07 14:22:18

标签: backbone.js twitter-bootstrap-3 backbone-views bootstrap-modal

我有自举模式。关闭并保存我可以处理事件:

    events: {
        'click #back': 'close',
        'click #save': 'save',
        'keydown': 'keyHandler'
    },

但是有一个问题,当用户点击.fade并关闭模态时,我无法处理。如何处理这个点击 - 模态关闭?

2 个答案:

答案 0 :(得分:1)

很难说你想要完成什么,因为我们没有看到所有的代码。

仅检查.fade点击是个坏主意。它太通用了,您可以在视图中的其他位置使用另一个.fade。有一件事是:

 events: {
    'click #back': 'close',
    'click .fade.modal': 'close',
    'click #save': 'save',
    'keydown': 'keyHandler'
},

这很有效,但这是一个坏主意,因为如果用户点击模态的任何地方就会关闭它。

您还可以在模态上收听关闭事件。

var view = Backbone.View.extend({
  events: {
        'click #back': 'close',
        'click #save': 'save',
        'keydown': 'keyHandler'
   },
  initialize: function() {

  },
  render: function() {
    $('#myModal').modal()
    $('#myModal').on('hidden.bs.modal', this.closeModal)
  },
  closeModal: function(){
    $('#myModal').off('hidden.bs.modal')  //prevent memory leak
    this.close()
  }
});

答案 1 :(得分:0)

你可以做的一件事是删除 来自HTML的“data-dismiss =”modal“”

<button type="button" class="btn btn-default" data-dismiss="modal">Close</button>

并单独处理点击事件并使用$('#your_modal_id').modal('hide');

关闭模态

通过这种方式,您可以处理模态关闭事件。