我在使用主干将事件绑定到动态创建的元素时遇到了一些麻烦。
这是生成元素的主干视图的代码。('.modal')
var MakeModalView = Backbone.View.extend({
el: '#btn-make-modal',
events: {
'click': 'makeModal'
},
makeModal: function () {
$('body').html('<div class="modal"><div class="modal-close">×</div>Close me! I\'m a modal!</div>');
}
});
new MakeModalView();
这是控制动态创建的元素的视图:
var ModalView = Backbone.View.extend({
el: '.modal',
events: {
'click .modal-close': 'closeModal'
},
closeModal: function () {
this.$el.remove();
}
});
new ModalView();
我遇到的问题是控制动态创建的元素(ModalView)的视图没有将事件绑定到该动态元素。('.modal')
如何将元素绑定到主干中动态创建的“el”?
我查看了以下解决方案:
但我似乎仍然无法弄清楚如何将事件附加到动态元素。
我创建了一个小提琴来演示这种行为是如何工作的。http://jsfiddle.net/6wzzk/3/