Llamar a una función JavaScript desde otro archivo
En WordPress, para usar $ en lugar del prefijo jQuery, agregué el siguiente código alrededor de todo el código JS:
jQuery(function($) {
...
});
Funciona bien, pero no puedo llamar a un objeto desde otro archivo JavaScript, persiste el siguiente error:
Slider is not defined
Este es mi código:
file1.js
jQuery(function($) {
var slider = new Slider();
});
file2.js
jQuery(function($) {
function Slider() {
this.nb_ele = 10;
}
});
Parece que debido a que el espacio de trabajo de los dos archivos JS es diferente, no pueden llamar funciones entre sí. ¿Hay alguna solución?

El problema que tienes es que Slider
no es accesible fuera de su ámbito ya que está definido dentro del .ready()
, aunque hayas usado la forma abreviada. La función necesita estar disponible en el ámbito global:
archivo1.js
function Slider() {
this.nb_ele = 10;
}
jQuery(function($) {
// ...
});
archivo2.js
jQuery(function($) {
var slider = new Slider();
});
Si quieres que Slider permanezca dentro del document ready, necesitarás usar una expresión de función para añadirla al objeto global:
jQuery(function($) {
window.Slider= function () {
this.nb_ele = 10;
};
});
Ver también: https://stackoverflow.com/questions/1449435/splitting-up-jquery-functions-across-files

Tuve el mismo tipo de problema.
También puedes resolverlo con:
var $ = jQuery.noConflict();
$(document).ready(function(){
tu código aquí
});
También necesitas usar ese truco en todos tus archivos JavaScript, me refiero a var $ = jQuery.noConflict();
.
Después de eso, Dammeul tiene razón.
