未捕获的类型错误:对象函数(a){返回新的j(a)}没有方法'has'

Uncaught TypeError: Object function (a){return new j(a)} has no method 'has'

本文关键字:有方法 has 错误 函数 对象 类型 返回      更新时间:2023-09-26

我得到这个错误。我是个新手,找不到一个满意的答案。这是我正在研究的一个例子。我研究了许多关于同一类型的问题,但我什么也不懂。如果你的回答是描述性的,那就太好了。

  <!DOCTYPE html>
  <html>
  <head>
    <meta charset="utf-8">
    <title>hello-backbonejs</title>
  </head>
  <body>
    <script src="https://ajax.googleapis.com/ajax/libs/jquery/1.9/jquery.min.js"></script>
    <script src="http://ajax.cdnjs.com/ajax/libs/json2/20110223/json2.js"></script>
    <script src="http://ajax.cdnjs.com/ajax/libs/underscore.js/1.1.6/underscore-min.js"></script>
    <script src="http://cdnjs.cloudflare.com/ajax/libs/backbone.js/1.1.0/backbone-min.js"></script>
    <script src="1.js" type="text/javascript"></script>
  </body>
  </html>

//javascript在这里.....名字"1. js "

(function($){
     var ListView = Backbone.View.extend({
     el: $('body'), // el attache`enter code here`s to existing element
        events: {
      'click button#add': 'addItem'
    },
    initialize: function(){
      _.bindAll(this, 'render', 'addItem'); // every function that uses 'this' as the current object should be in here
      this.counter = 0; // total number of items added thus far
      this.render();
    },
        render: function(){
      $(this.el).append("<button id='add'>Add list item</button>");
      $(this.el).append("<ul></ul>");
    }, addItem: function(){
      this.counter++;
      $('ul', this.el).append("<li>hello world"+this.counter+"</li>");
    }
  });
  var listView = new ListView();
})(jQuery);

试试这样

<script src="http://ajax.googleapis.com/ajax/libs/jquery/1.9.1/jquery.min.js"></script>
<script src="http://ajax.cdnjs.com/ajax/libs/json2/20110223/json2.js"></script>
<script src="http://ajax.cdnjs.com/ajax/libs/underscore.js/1.5.0/underscore-min.js"></script>
<script src="http://cdnjs.cloudflare.com/ajax/libs/backbone.js/1.1.0/backbone-min.js"></script>
原因

  1. 使用jquery 1.9.1代替1.9
  2. 使用下划线1.5.0