2017-03-04 3 views
0

Ich bekomme eine Uncaught ReferenceError: fun is not defined, wenn die Funktion direkt unterhalb des Anrufs definiert ist.Uncaught ReferenceError von jQuery

ich vereinfacht so viel wie möglich mein Skript den Fehler

fun(); 

function fun() { 
} 

var promise = new Promise((resolve, reject) => call(resolve, reject)); 

const call = (success, error) => { }; 

ich diese Ausnahme

Uncaught ReferenceError: fun is not defined 
    at eval (eval at globalEval (jquery.js:545), <anonymous>:1:1) 
    at eval (<anonymous>) 
    at Function.globalEval (jquery.js:545) 
    at text script (jquery.js:7617) 
    at ajaxConvert (jquery.js:7592) 
    at done (jquery.js:7350) 
    at XMLHttpRequest.<anonymous> (jquery.js:7822) 
    at Object.send (jquery.js:7845) 
    at Function.ajax (jquery.js:7301) 
    at Function._evalUrl (jquery.js:5880) 

Es scheint zu funktionieren bekommen zu reproduzieren, wenn ich die var promise Linie call(resolve, reject) mit {} entfernen oder ersetzen aber ich kann nicht verstehen warum.

jQuery version 2.0.3

Jede Idee, warum passiert das?

EDIT: Ich hatte andere Problem im Zusammenhang mit der globalenEvent von jQuery, und ich löste sie durch Verschieben der jQuery-Skript-Tag als letzte, aber immer noch nicht dabei helfen.

+0

Ich verstehe nicht ... wo nennst du 'fun()'? Wichtige Teile des Codes fehlen hier. Ich kann dein Problem nicht replizieren. Fügen Sie den Code hinzu, der das Problem reproduziert, das Sie hier oder auf http://jsfiddle.net haben. Aber der Fehler spricht für sich. Es ist wahrscheinlich ein Problem mit dem Umfang. – Ionut

+0

@Ionut oops, das ist herausgerutscht. nur fehlt der obere Spaß() – user4388177

+0

Ich sehe nicht, wie jQuery hier relevant ist. Wo benutzt du es? – Li357

Antwort

0
<head> 
    <script src="Scripts/jquery/jquery.js"></script> 

    <script> 
     function run() { 
      var toReload = "app.js"; 
      $('script[src="' + toReload + '"]').remove(); 
      $('<script>').attr('src', toReload).appendTo('head'); 
     } 
    </script> 
</head> 
<body> 
    <div id="content"> 
     <button onclick="run()">Run</button> 
    </div> 
</body> 

Ich wurde meinen Code dynamisch geladen und jQuery wurde verwirrt. Verschieben Sie mein Skript in ein Skript-Tag, bevor jQuery es löste.

Verwandte Themen