Tôi có chế độ xem xương sống tạo ra một div mới cho mỗi mô hình được truyền vào nó. Tuy nhiên, tôi không thể nhận được bất kỳ loại sự kiện nào để kích hoạt (nhấn a.change-status) trên khung nhìn và tôi cho rằng đó là vì các phần tử bên trong của nó cũng được tạo ra từ một khuôn mẫu. Xin vui lòng cho tôi biết nếu có một số cách xung quanh này.Sự kiện nhấp chuột đường trục không kích hoạt trên chế độ xem động
var videoDivView = Backbone.View.extend({
el: '<div class="vendor-video" />',
initialize: function(){
_.bindAll(this);
this.render();
this.model.on('change:published', this.enableSaveButton);
},
events: {
'click a.change-status' : 'changeVideoStatus'
},
template: video_tmpl,
render: function(){
this.$el.attr("id", 'video-'+this.model.id);
this.$el.html(this.template(this.model.toJSON()));
this.$el.data('status', video_statuses[this.model.get('published')]);
},
changeVideoStatus: function(e) {
console.log(this.model);
return false;
},
enableSaveButton: function() {
$('#save-changes').removeClass('disabled').removeAttr('disabled');
}
});
một ví dụ mẫu sẽ trông như thế:
<script id="single-video-tmpl" type="text/x-jquery-tmpl">
<div>
<div class="video-info">
<span class="video-title"><%=video_title%></span>
<div class="bottom-info">
<a href="#<%=id%>" class="change-status"></a>
</div>
</div>
</div>
</script>
thuộc tính 'el' bạn đang đặt không có ý nghĩa, nó phải là một jquery như bộ chọn (http://api.jquery.com/category/selectors/). – rednaw
Tôi đang tạo nó cho mỗi mô hình –
Ồ, điều đó có hiệu quả không? Tôi chưa bao giờ thấy nó được sử dụng như thế để thành thật, xin lỗi. – rednaw