我正在尝试在 JQuery 对话框中使用 Backbone.js。我已经设法让对话框呈现和打开,但它似乎并没有触发我的事件。我添加了一个测试事件来检查它,单击它没有预期的结果。
我已经尝试按照这篇博文中关于 delegateEvents 的说明进行操作,但没有任何区别。没有错误被抛出,事件只是不触发。为什么是这样?
Slx.Dialogs.NewBroadcastDialog.View = Backbone.View.extend({
events: {
"click .dialog-content": "clickTest"
},
clickTest : function () {
alert("click");
},
render: function () {
var compiledTemplate = Handlebars.compile(this.template);
var renderedContent = compiledTemplate();
var options = {
title: Slx.User.Language.dialog_title_new_message,
width: 500
};
$(renderedContent).dialog(options);
this.el = $("#newBroadCastContainer");
this.delegateEvents(this.events);
return this;
},
initialize: function () {
_.bindAll(this, 'render');
this.template = $("#newBroadcastDialogTemplate").html();
this.render();
}
});