full sample here
我有一个非常简单的 Backbone js结构。
var Step1View = Backbone.View.extend({
el:'.page',
render:function () {
var template = _.template($('#step1-template').html());
this.$el.html(template);
}
});
var step1View = new Step1View();
var Router = Backbone.Router.extend({
routes:{
"":"home"
}
});
var router = new Router;
router.on('route:home', function () {
step1View.render();
})
Backbone.history.start();
这工作得很好,但是我无法调用这个简单的jquery函数。
如果您有任何问题,请联系我们。});
更新
这里是一个学生错误。Jquery onload函数需要放在路由中。我对 Backbone.js 网很陌生,所以我不确定这是否是最好的实践。但是下面的方法有效。
render:function () {
var that = this;
var savings = new Savings();
savings.fetch({
success:function () {
var template = _.template($('#step3-template').html(), {savings:savings.models});
that.$el.html(template);
// put your jquery good ness here
$('.tip').tooltip();
$(".step3-form").validate();
}
})
}
2条答案
按热度按时间mctunoxg1#
看起来你找到了你的答案!只是想分享一下,你可以通过这样做来缩小你的jQuery的范围。
示例中的代码可以正常工作,但它也会每次扫描整个文档,查找
tip
类的HTML,在tip
类中,您可以使用刚刚创建的元素向下扫描,只查找刚刚在其中创建的提示。希望这是有帮助的!
ncgqoxb02#
看起来你找到了你的答案!只是想分享一下,你可以通过这样做来缩小你的jQuery的范围。
你在例子中的方法是可行的,但是它也会扫描整个文档,每次都有类提示,你可以使用你刚刚创建的元素,向下扫描,只找到你刚刚在里面创建的提示。
希望这是有帮助的!