Foros del Web » Programando para Internet » Javascript »

pasar funcion con parametros a otra funcion

Estas en el tema de pasar funcion con parametros a otra funcion en el foro de Javascript en Foros del Web. Saludos. No soy muy experto en javascript, pero me he decidido mejorar, para lo cual estoy escribiendo un par de funciones que me agreguen listeners, ...
  #1 (permalink)  
Antiguo 20/07/2010, 11:10
Avatar de xcars  
Fecha de Ingreso: mayo-2005
Ubicación: El Salvador
Mensajes: 753
Antigüedad: 18 años, 11 meses
Puntos: 4
pasar funcion con parametros a otra funcion

Saludos. No soy muy experto en javascript, pero me he decidido mejorar, para lo cual estoy escribiendo un par de funciones que me agreguen listeners, y cosas por el estilo, pero no logro "entender" como hacer algo, y creo que el problema es de conceptos y no de codigo (al final siempre repercute en codigo ejejeje) pues por no tener claro algun concepto no logro crear la funcion. A continuacion les dejo unas funciones

Código:
        function addEvent(elm, evType, fn, useCapture)
        // manejo de eventos cross-browser para IE5+, NS6+ y Mozilla/Gecko
        // By Scott Andrew
        {
            if (elm.addEventListener) {
                elm.addEventListener(evType, fn, useCapture);
                return true;
            } 
            else if (elm.attachEvent) {
                var r = elm.attachEvent('on' + evType, fn);
                return r;
            } 
            else {
                elm['on' + evType] = fn;
            }
        }
        
        function tagAddListeners(tag,evType, fn) {
            if (!document.getElementsByTagName) return;
            {
                var all_cells = document.getElementsByTagName(tag);
            }
            for (var i = 0; i < all_cells.length; i++) {
                addEvent(all_cells[i], evType, fn, false);
            }
        }
        
        function misListeners(){
            tagAddListeners('div','click',clickme);
        }
        
        function clickme(tex)
        {
            alert(tex);
        }
        
        addEvent(window, 'load', misListeners, false);
Ok lo que quiero hacer es esto, tener una funcion que agregue un evento X a todos los tags que yo elija (por ejemplo mouseover a todos los div's) y para eso es la funcion tagAddListeners, ahora bien, la idea es que en cada evento del tag que elija haga algo, por ejemplo, lo que queria probar es, al pasar el mouse sobre o hacer click en cada div, me envie un mensaje de texto que diga HAZ HECHO CLICK EN EL DIV xx, pues aqui es donde me tope, yo tengo una funcion llamada clickMe, pero como los eventos los estoy asignando dinamicamente, nose que debo pasar en el parametro fn de la funcion misListeners que llama a la funcion tagAddListeners para que individualice el mensaje.... nose si me explico bien.... espero y me puedan ayudar, quedare muy agradecido.
__________________
Con Microaplicaciones puedes hacer tu tienda en línea de forma sencilla y rápida, sin costos ocultos y con mucha responsabilidad.
  #2 (permalink)  
Antiguo 20/07/2010, 11:23
Avatar de David
Moderador
 
Fecha de Ingreso: abril-2005
Ubicación: In this planet
Mensajes: 15.720
Antigüedad: 19 años
Puntos: 839
Respuesta: pasar funcion con parametros a otra funcion

Para este caso específico, quizás te sirva revisar este tema:
http://www.forosdelweb.com/f13/quien...uncion-621642/

Saludos.
__________________
Por favor, antes de preguntar, revisa la Guía para realizar preguntas.
  #3 (permalink)  
Antiguo 20/07/2010, 11:40
Avatar de xcars  
Fecha de Ingreso: mayo-2005
Ubicación: El Salvador
Mensajes: 753
Antigüedad: 18 años, 11 meses
Puntos: 4
Respuesta: pasar funcion con parametros a otra funcion

Perfecto!!! ya lo logre entender y mejorar... muy agradecido.

Cita:
Iniciado por David Ver Mensaje
Para este caso específico, quizás te sirva revisar este tema:
http://www.forosdelweb.com/f13/quien...uncion-621642/

Saludos.
__________________
Con Microaplicaciones puedes hacer tu tienda en línea de forma sencilla y rápida, sin costos ocultos y con mucha responsabilidad.
  #4 (permalink)  
Antiguo 21/07/2010, 14:38
Avatar de xcars  
Fecha de Ingreso: mayo-2005
Ubicación: El Salvador
Mensajes: 753
Antigüedad: 18 años, 11 meses
Puntos: 4
Respuesta: pasar funcion con parametros a otra funcion

continuando con mi duda, con el codigo que vi del post anterior pude resolver el problema que tenia, pero ahora me surge otro, que practicamente es lo mismo, que sucede si a la funcion clickme le quiero pasar un texto personalizado??

por ejemplo agregar un listener al div1 con un alert que diga "hola mundo" y en el div2 que diga "Adios mundo" y asi, que pueda personalizar el contenido y parametros de la funcion click me??

se puede?
__________________
Con Microaplicaciones puedes hacer tu tienda en línea de forma sencilla y rápida, sin costos ocultos y con mucha responsabilidad.
  #5 (permalink)  
Antiguo 21/07/2010, 14:52
Avatar de zerokilled
Javascripter
 
Fecha de Ingreso: abril-2009
Ubicación: Isla del Encanto, La Borinqueña [+>==]
Mensajes: 8.050
Antigüedad: 15 años
Puntos: 1485
Respuesta: pasar funcion con parametros a otra funcion

si entendi bien la situacion, en lugar de pasar la función clickme como evento, tienes que crear una función anónima que invoque tu función con los parametros necesarios. por ejemplo...
Código:
addEvent(elemento, tipo, function(){
// invoca tu funcion, por ejemplo;
clickme("usted cliqueo en un elemento " + arguments[0].target.nodeName);
}, capturar);
__________________
la maldad es una virtud humana,
y la espiritualidad es la lucha del hombre contra su maldad.
  #6 (permalink)  
Antiguo 21/07/2010, 16:57
Avatar de xcars  
Fecha de Ingreso: mayo-2005
Ubicación: El Salvador
Mensajes: 753
Antigüedad: 18 años, 11 meses
Puntos: 4
Respuesta: pasar funcion con parametros a otra funcion

perfecto, luego de unos ajustes con funciones anonimas esta de pelos. Muchas gracias

Cita:
Iniciado por zerokilled Ver Mensaje
si entendi bien la situacion, en lugar de pasar la función clickme como evento, tienes que crear una función anónima que invoque tu función con los parametros necesarios. por ejemplo...
Código:
addEvent(elemento, tipo, function(){
// invoca tu funcion, por ejemplo;
clickme("usted cliqueo en un elemento " + arguments[0].target.nodeName);
}, capturar);
__________________
Con Microaplicaciones puedes hacer tu tienda en línea de forma sencilla y rápida, sin costos ocultos y con mucha responsabilidad.

Etiquetas: funcion, parametros, pasar
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 19:38.