Rufen Sie eine JavaScript-function aus einer anderen Datei auf

In WordPress, um $ anstelle von jQuery-Präfix zu verwenden, habe ich den folgenden Code um alle Js-Code hinzugefügt:

jQuery(function($) { ... }); 

Es funktioniert gut, aber ich kann ein Objekt aus einer anderen Javascript-Datei nicht aufrufen, das folgende Problem besteht weiterhin:

 Slider is not defined 

Das ist mein Code:

file1.js

 jQuery(function($) { var slider = new Slider(); }); 

Datei2.js

 jQuery(function($) { function Slider() { this.nb_ele = 10; } }); 

Es scheint, dass der Arbeitsbereich von zwei js-Dateien unterschiedlich ist, so dass sie keine function von einem anderen aufrufen können. Irgendeine Lösungsmöglichkeit?

Solutions Collecting From Web of "Rufen Sie eine JavaScript-function aus einer anderen Datei auf"

Das Problem, das Sie haben, ist, dass Slider nicht außerhalb seines Gültigkeitsbereichs zugänglich ist, wie es durch die .ready() obwohl Sie eine Kurzschrift dafür verwendet haben. Die function muss im globalen Bereich verfügbar sein:

file1.js

 function Slider() { this.nb_ele = 10; } jQuery(function($) { // ... }); 

Datei2.js

 jQuery(function($) { var slider = new Slider(); }); 

Wenn Slider im Dokument bereit bleiben soll, müssen Sie einen functionsausdruck verwenden, um die function zum globalen Objekt hinzuzufügen:

 jQuery(function($) { window.Slider= function () { this.nb_ele = 10; }; }); 

Siehe auch: https://stackoverflow.com/questions/1449435/splitting-up-jquery-functions-across-files

Ich hatte das gleiche Problem.

Sie können es auch lösen mit:

 var $ = jQuery.noConflict(); $(document).ready(function(){ your code in here }); 

Sie müssen diesen Trick auch in all Ihren Javascript-Dateien verwenden, ich meine var $ = jQuery.noConflict(); .

Danach hat Dammeul Recht.