我在index.ejs文件中包含了这段代码
<script type="text/javascript">
$(window).load(function()
{
$('#username').glDatePicker();
});
</script>
但是这个jquery代码只适用于第一个登录页面上的ID(在这种情况下是登录),对于其它不可用的页面。请建议如何使其适用于其他页面中的所有ID。
答案 0 :(得分:2)
jQuery加载事件,只是三次加权,当窗口加载时,当它发生时,dom中不存在一些模板,因为ember保存了这个模板,只是当你做一个dom时附加在dom中过渡到相应的路线。
由于您的glDatePicker
是自定义输入标记,换句话说是自定义组件。我建议你创建自己的视图类。使用ember很容易:
App.DatePickerView = Ember.TextField.extend({
didInsertElement: function() {
this.$().glDatePicker();
}
});
在您的模板中,您可以使用:
{{view App.DatePickerView valueBinding=date}}
因此创建的每个新DatePickerView
都将使用jquery插件。
如果你想要更多的语法糖,你可以使用Ember.Handlebars.helper
:
Ember.Handlebars.helper('date-picker', App.DatePickerView);
因此,在模板中,您只需使用:
{{date-picker value=date}}
这是这个工作http://jsfiddle.net/marciojunior/3saXK/
的小提琴我希望它有所帮助