backbonejs 如何在页面加载时调用函数

backbonejs how to call function when page loaded

我有简单选择器的功能 $(.some-class) 没有 this.$(.some-class)。我在渲染中调用这个函数。但是这个函数找不到.some-class。据我了解,我必须在加载 DOM 时调用函数。我该怎么做?

具有 Backbone 视图的文件:

var DocumentView = Backbone.View.extend({
  render: function(){
    someFunction('.some-class');
  },
});

具有函数的文件:

function someFunction(target) {
  $(target);
}

我找不到带有 class '.some-class' 和 backbone 的元素,但是当页面加载时我可以找到。

由于您正在使用 Backbone,您已经在使用 jQuery。话虽如此,您可以将所有代码放在 jQuery 回调中,如下所示:

$(function() {
    function someFunction(target) {
      $(target);
    }
    ...
    ...
    var DocumentView = Backbone.View.extend({
       render: function(){
           someFunction('.some-class');
       },
   });
})

这确保只有在 DOM 完全加载后才会调用代码(dom ready jquery)

另一种选择是将所有代码(或 javascript 文件)放在结束 body 元素之前。