Foros del Web » Programando para Internet » Jquery »

Problema de ámbito

Estas en el tema de Problema de ámbito en el foro de Jquery en Foros del Web. Buenos días a todos, Os comento mi problema. tengo un archivo app.js el cual tiene definidas varias funciones de la siguiente forma: Código: $(document).ready(function() { ...
  #1 (permalink)  
Antiguo 09/08/2013, 00:18
 
Fecha de Ingreso: agosto-2013
Mensajes: 2
Antigüedad: 11 años, 2 meses
Puntos: 0
Sonrisa Problema de ámbito

Buenos días a todos,

Os comento mi problema.

tengo un archivo app.js el cual tiene definidas varias funciones de la siguiente forma:

Código:
$(document).ready(function()
{
    var eventDispacher = function(fn,params,obj)
   {
   }
});

Por otor lado, tengo unos plugins desarrollados tomando con la misma estructura de bootstrap. Es decir, haciendo uso de prototipos para poder disponer de diferentes instancias del mismo objeto.

El caso es que uno de estos plugins, cuando ejecuta un código, debe llamar a la función eventDispacher pasandole una serie de parámetros.

Simplemente poniendo eventDispacher(parametros) no tiene accedo. El plugin dice que no existe la función. He probado usando apply y tampoco.

Alguna idea de como poder llamar desde un prototipo a una función global.

Gracias de antemano.
  #2 (permalink)  
Antiguo 09/08/2013, 00:35
 
Fecha de Ingreso: agosto-2013
Mensajes: 2
Antigüedad: 11 años, 2 meses
Puntos: 0
Respuesta: Problema de ámbito

Buenos de nuevo, me he dado cuenta que si la función eventDispacher la creo fuera de $(document).ready(function(){}); si que tiene acceso, el caso es que necesito que esté dentro de $(document).ready() dado que he de hacer uso del selector de jquery para trabajar el dom.
  #3 (permalink)  
Antiguo 09/08/2013, 01:18
Colaborador
 
Fecha de Ingreso: marzo-2008
Ubicación: Sabadell
Mensajes: 4.897
Antigüedad: 16 años, 7 meses
Puntos: 574
Respuesta: Problema de ámbito

Se me ocurre que podrias definir la funcion fuera de $(document).ready (quizas con javascript tradicional...) y en el $(document).ready llamarla por su nombre....

Código Javascript:
Ver original
  1. function FeventDispacher(fn,params,obj){
  2.    alert("Soy FeventDispacher");
  3. }
  4.  
  5. $(document).ready(function()
  6. {
  7.     var eventDispacher = function(fn,params,obj) {
  8.         FeventDispacher(fn,params,obj);
  9.    }
  10. });
__________________
Quim
--------------------------------------------------
Ayudar a ayudar es una buena práctica!!! Y da buenos resultados.

Etiquetas: funcion, javascript, js
Atención: Estás leyendo un tema que no tiene actividad desde hace más de 6 MESES, te recomendamos abrir un Nuevo tema en lugar de responder al actual.
Respuesta




La zona horaria es GMT -6. Ahora son las 20:30.