2013-06-26 10 views
7

Ich experimentiere mit Backbone.js herum und versuche einfach, die Nachrichten auf meinem Konsolenbildschirm erscheinen zu lassen. Wie auch immer, ich jedes Mal tun, so hält ein Fehler erscheint (unten angegeben)Uncaught TypeError: Ich erwarte eine Funktion in instanceof check

Uncaught TypeError: Expecting a function in instanceof check, but got [object Object] backbone.js:1032 
_.extend.setElement backbone.js:1032 
_.extend._ensureElement backbone.js:1104 
Backbone.View backbone.js:986 
child backbone.js:1531 
(anonymous function) pageLoader.js:19 
(anonymous function) 

Hier wird der JavaScript

(function ($){ 

window.PageLoader = Backbone.View.extend({ 
    el: $("section"), 
    events: { 
    "": "initialization", 
    "click #aboutUs" : "aboutUs", 
    }, 

    initialization: function(){ 
    console.log('pageLoader.js initialized\nHome page rendered'); 
    }, 

    aboutUs:function(){ 
    console.log('About us page rendered.'); 
    } 
}); 

var pageLoader = new PageLoader(); 
//pageLoader.initialization(); 
//pageLoader.aboutUs(); 

})(jQuery); 

Auch hier ist die HTML-

<html> 
    <head> 
    <link rel="stylesheet" type="text/css" href="css/main.css"> 
    <meta /> 
    <meta /> 
    <title>Bus tours and tows</title> 
    </head> 
    <body> 
    <div id="centerWrapper"> 
    <header> 
     <h1>So and so Bus tours and tows</h1> 
    <header/> 
    <nav> 
     <ul> 
     <li><a href="">Home</a></li> 
     <li><a href="#aboutUs">About us</a></li> 
     <li><a href="">Tours</a></li> 
     <li><a href="">Tows</a></li> 
     <li><a href="">Schedule</a></li> 
     <li><a href="">Contact</a></li> 
     </ul> 
    </nav> 
    <section></section> 
    <footer> &#169; Of So and so bus tours and tows. <br /> 
     <i>Questions regarding the construction of the website, please email</i> 
     <a href="mailto: [email protected]">Web Master</a> 
    </footer> 
    <div id="jsFilesAndDepend"> 
     <!-- --> 
     <!-- Filese that are dependant--> 
     <script src="js/dependencies/underscore.js"></script> 
     <script src="js/dependencies/backbone.js"></script> 
     <script src="js/dependencies/jquery-1.10.1.js"></script> 
     <script src="js/pageLoader.js"></script> 
     <script src=""></script> 
     <script src=""></script> 
    </div> 
    </div> 
    </body> 
</html> 

Ich archiviere bin neu bei Backbone.JS. Danke für die Hilfe.

Antwort

9

Sie müssen jQuery vor Rückgrat,

<script src="js/dependencies/underscore.js"></script> 
    <script src="js/dependencies/jquery-1.10.1.js"></script> 
    <script src="js/dependencies/backbone.js"></script> 

Sie auch leere Ereignisschlüsselwertpaare,

events: { 
// "": "initialization", <- this is invalid. 
    "click #aboutUs" : "aboutUs", 
}, 
+0

Hey, Danke für die Antwort definieren kann nicht geladen werden! Das hat den alten Fehler beseitigt, aber jetzt bekomme ich einen neuen: 'Uncaught TypeError: Kann Eigenschaft' 1 'von null nicht lesen backbone.js: 1062 _.extend.delegateEvents backbone.js: 1062 Backbone. View backgroup.js: 988 Kind backbone.js: 1531 (anonyme Funktion) pageLoader.js: 19 (anonyme Funktion) ' –

+0

@JoshV Sie können keine leeren Ereignisschlüssel haben. – Andrew

+0

Ohh Okay, ich verstehe. Mein Fehler war, dass es die gleiche Struktur wie der Backbone.Router hat. Ich versuche es. –

Verwandte Themen