2014-02-04 4 views
0

Итак, у меня есть этот код (я изучаю Магистраль, но консоль говорит мне: «Uncaught ReferenceError: $ не определен», и я не знаю, почему, у меня есть точный код видео-учебник, ошибка в этой строке: эль: $ («# контейнер») Вот мой код:

<!DOCTYPE HTML> 
<html lang="en"> 
    <head> 
     <meta charset="utf-8" /> 
     <title>Backbone Project</title> 

     <script src="lib/underscore.js" type="text/javascript"></script> 
     <script src="lib/backbone.js" type="text/javascript"></script> 
     <!--[if IE]> 
     <script src="http://html5shiv.googlecode.com/svn/trunk/html5.js"></script> 
     <![endif]--> 
    </head> 
    <body> 

     <script type="text/template" id="task_template"> 
      <label>Task: </label> 
      <input type="text" id="task_desc"/> 
      <input type="button" value="Add Task" id="btn"/> 
     </script> 

     <div id="container"></div> 

     <script type="text/javascript"> 

      Task = Backbone.View.extend({ 
       el : $('#container'), 

       initialize: function(){ 
        this.render(); 
       }, 

       render: function(){ 
        var template = _.template($('#task_template').html(), {}); 
        this.$el.html(template); 
       } 
      }); 

      var task = new Task(); 

     </script> 
    </body> 
</html> 

ответ

1

пример использует JQuery для выбора DOM элементов, добавить библиотека в голове ...

<script src="//cdnjs.cloudflare.com/ajax/libs/jquery/1.11.0/jquery.min.js" type="text/javascript"></script> 
<!-- load other libraries that depend on jquery *after* jquery --> 
<script src="lib/underscore.js" type="text/javascript"></script> 
<script src="lib/backbone.js" type="text/javascript"></script> 

<!-- ... time passes ... --> 

<script type="text/javascript"> 

    // use jQuery onReady wrapper to ensure DOM has loaded before 
    // executing JS that might depend on DOM elements, and scripts to exist 
    $(function(){ 

     Task = Backbone.View.extend({ 
      el : $('#container'), 

      initialize: function(){ 
       this.render(); 
      }, 

      render: function(){ 
       var template = _.template($('#task_template').html(), {}); 
       this.$el.html(template); 
      } 
     }); 

     var task = new Task(); 

    }); 

</script> 
+0

Я поставил Jquery и теперь у меня есть эта ошибка: Uncaught TypeError: Ожидая функцию в instanceo f check, но получил [object Object] backbone.js: 1036 Хуже того, lol. – Solitaryo

+1

@Solitaryo убедитесь, что вы включили jQuery перед базой. Также не создавайте 'new Task()' до тех пор, пока 'document' не завершит загрузку. – idbehold

Смежные вопросы