我是 Backbone 新手,我正在尝试创建一个日期选择器。我正在尝试添加一个没有模型的事件监听器,但我在 View 中添加的单击事件监听器表现得很有趣,所以我认为我会犯这个错误。我试图模拟(有效)的代码如下:
initialize:function () {
...
this.model.bind('change', this.pageSetup, this);
...
}
pageSetup:function () {
var self = this;
$("#date-range").datepicker({
onSelect:function (dateText, datePickeOBJ) {
self.selectedDate = dateText;
self.onDateChange(datePickeOBJ);
},
defaultDate: this.selectedDate,
maxDate:'-2'
});
...
}
这似乎工作正常。就我而言,没有模型。现在我有
return BaseView.extend({
el: "<div id='main-inner'>",
template: "print-report",
events: {
"change #date-range": "datePicker"
}, ...
datePicker: function() {
var self = this;
$("#date-range").datepicker({
onSelect:function (dateText, datePickeOBJ) {
self.selectedDate = dateText;
self.onDateChange(datePickeOBJ);
},
defaultDate: this.selectedDate,
maxDate:'-2'
});
}, ...
我怎样才能更好地实现这种良好的 Backbone 时尚?
最佳答案
我只是在鼠标悬停
上创建$.datepicker()
。
events: {
'mouseover #dateinput' : 'createDatePicker'
},
createDatePicker:function(e) {
var view = this;
$(e.currentTarget).datepicker({
maxDate:'-2',
defaultDate:view.selectedDate,
onSelect:function(dateText,datePicker) {
console.log('onSelect',dateText);
view.selectedDate = dateText;
view.onDateChange(datePicker);
}
});
}
这是一个demo
关于javascript - 没有模型的 Backbone.js datepicker 事件监听器,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/19867327/