我使用带有下划线的mobiscroll。我有一个下划线模板。我需要对从模板添加的元素执行.scroller。
以下是模板:
<form>
<input type="text" id="startdate" name="startdate"/>
</form>
以下是视图中的渲染功能:
var MyView = Backbone.View.extend({
template: render('auctioncreate'),
render: function() {
this.$el.empty().append(this.template);
$('#startdate').scroller(); // this does not work
}
});
render是一个加载html并使其成为模板的函数。为了完整性,这里是渲染函数的代码:
function render(tn, td) {
if(!render.tc) {
render.tc = {};
}
if(! render.tc[tn]) {
var td = 'assets/js/templates';
var tu = td + "/" + tn + ".html";
var ts;
$.ajax({
url: tu,
method: 'GET',
async: false,
dataType: 'html',
success: function(d) {
ts = d;
},
error: function(e) {
}
});
render.tc[tn] = ts;
}
return _.template(render.tc[tn]);
}
我尝试在模板中添加ondomready javascript。它不会立即起作用,但刷新后会起作用吗?!
$(function() {
$('#startdate').scroller(); // this work if I refresh once.
});
基本上我需要在元素附加到dom后对元素应用日期时间选择器。
答案 0 :(得分:1)
错误发生在View的渲染功能中。
而不是:
$('#startdate')...
应该是:
this.$('#startdate')...