我需要将点击事件绑定到一定数量的特殊 div,应该绑定哪些 div 仅在运行时知道,所以我想简单地为所有这些特殊 div 设置一个类并将它们绑定到“事件”中,然后单击其中一个这些 div 会触发所有 div 触发然后我尝试在事件中使用变量,但这些变量仅在运行时知道,所以事实证明它们在绑定事件时未定义现在我使用 jQuery 在运行时绑定 Backbone 内的事件,但是每当我初始化视图时,事件就会立即触发
var RoomNumber = Backbone.View.extend({
el: $('#roomColumn' + this.roomNumber),
initialize: function () {
_.bindAll(this, 'render');
this.user = this.options.user;
this.roomNumber = this.options.roomNumber;
this.render();
//$('#roomNumber'+this.roomNumber).on('click', this.enterBooking());
},
render: function () {
$(this.el).append("<div class = 'roomNumber' id = 'roomNumber" + this.roomNumber + "'>" + this.roomNumber + "</div>");
},
enterBooking: function () {
var slideForm = new SlideForm({
user: this.user,
roomNumber: this.roomNumber,
state: 'book',
singleSchedule: new Schedule()
});
}
});
有人会解释为什么会发生这些吗?以及如何将事件绑定到动态生成的 div?
(我知道我可能不应该使用这样的主干视图......但这是要求的一部分)