我正在構建一個應用程序,在該應用程序中,我在後端使用Django並使用jQuery UI/Backbone構建前端。我將一個Django生成的表單放入一個帶有Backbone View內部的jQuery.get()的頁面中。這部分工作正常,但現在我想添加一些jQuery UI的東西的形式(例如日期選擇器,一些按鈕,打開對話框等)。因此,下面是相關的代碼:Backbone View中的jQuery UI添加元素,但不響應事件
var InstructionForm = Backbone.View.extend({
render: function() {
var that = this;
$.get(
'/tlstats/instruction/new/',
function(data) {
var elements = $(data);
$('#id_date', elements).datepicker();
that.$el.html(elements.html());
}
};
return this;
}
});
path/tlstats/instruction/new /返回一個帶有Django已經生成的表單的HTML片段。發生了什麼事是輸入#id_date正在增加hasDatePicker類,並且datepicker div被追加到我的<正文>元素(兩者都如預期),但是當我點擊輸入#id_date時,什麼都不會發生。沒有日期選擇器小部件出現,控制檯中沒有錯誤。爲什麼會發生這種情況?
不過有點偏離主題,但在試圖弄清楚這個問題了我自己,我遇到的幾個代碼示例,人們正在做的東西,如:
$(function() {
$('#dialog').dialog(...);
...
});
再後來:
var MyView = Backbone.View.extend({
initialize(): function() {
this.el = $('#dialog');
}
});
這不是破壞Backbone的目的,讓所有的jQuery UI代碼完全在任何Backbone結構之外?還是我誤解了骨幹的作用?
謝謝。
這個工作。謝謝! – mmccollow 2012-07-25 19:46:56
有沒有人有一個想法如何重新放置已經有綁定的視圖?模型狀態改變時,重新渲染很重要。 – mojovski 2013-06-26 06:17:04
@mojovski:也許你應該問一個新問題,那會讓你提供更多的背景,而不是對一年前的評論。 – 2013-06-26 06:28:26