脚本在“点击”下工作事件,但不是单独的(Backbone.js)

Script works under "click" event but not alone (Backbone.js)

本文关键字:单独 js Backbone 点击 事件 工作 脚本      更新时间:2023-09-26

我有一个canvas元素附加到View下的文档主体(与它分开)。我想把canvas元素附加到视图中的div上。它在点击时工作,但当我把它放在渲染函数中时,它就不起作用了。代码是这样的:

不工作:

render : function() {
    var that = this;
    $(this.el).html(this.template());
        $('canvas').appendTo('.container3');
    return this;
}
工作:

events : {
 'click .qgaz': 'blabla'
},
blabla : function() {
     $('canvas').appendTo('.container3');
}

为什么会发生这种情况,我怎样才能使它在页面加载时自己工作?

编辑-完整视图:

window.printView = Backbone.View.extend({
tagName : 'div',
className : 'print-menu-view',
initialize : function() {
    var that = this;
    // tu wybierz template z templates/main.tpl
    this.testowaZmienna = "test";
    this.template = _.template($("#print-view").html());
    console.log(this);
    return this;
},
events : {
},
render : function() {
    var that = this;
    $(this.el).html(this.template());
        $('canvas').appendTo('.container3');
        console.log(this);
    return this;
}
});

当你试图通过.container3选择器访问元素时,它还不是文档树的一部分,但它已经包含在缓存的jQuery对象$el:

http://backbonejs.org/视图- el美元

在缓存元素中查找.container3

this.$el('.container3').append(...)