[OT] añadir funciones a onload

15/09/2006 - 13:16 por Piolin Net | Informe spam
Alo!

estoy añadiendo funciones dinamicamente al evento onlad del body asi:

document.body.onload = function(){mostrar_datos_mensaje_espera()};

va bien. el problema lo encuentro cuando el onload del body ya tenia
definido llamar a otra funcion como <body onload='otra_funcion()'>. digamos
que me machaca la anterior.
¿como puedo agragar nuevas funciones sin perder las anteriores?

Preguntas similare

Leer las respuestas

#6 Piolin Net
16/09/2006 - 12:00 | Informe spam
Tienes razon, para el onload no tiene sentido una vez cargada la pag. pero es
que tb quiero usar esa funcionalidad para otros eventos.

Estoy seguro que tiene q haber un metodo que añada funciones a los eventos
de un objeto. He probado el attachEvent pero no ha hecho nada. igual no lo he
utiliado bien. seguire buscano, Gracias.

"Dani Castillo" wrote:

bueno una vez cargada la pagina no se porque necesitas modificar el onload
:-S ya no tiene efecto

de todas formas podrias intentar hacerlo como una cadena de "interrupciones"
me refiero a usar ese mismo metodo, cada funcion nueva llama a la anterior

para ello necesitaras modificar cada funcion nueva , algo como

var enlace1
function funcion1(){
.. varias acciones y luego
if (enlace1!=null) {
enlace1()
}
}

a la hora de enlazar esa funcion
enlace1=document.body.onload
document.body.onload =function(){funcion1()};

no se me ocurren mas metodos , de todas formas lo dicho, normalmente una vez
cargada la pagina modificar el onload no tiene mucho sentido (ya que este no
se ejecutara hasta la proxima recarga... donde se habra generado de nuevo y
habras perdido todo lo añadido dinamicamente)

No se exactamente lo que estas creando , supongo que algun modulo generico
que vaya añadiendo funciones para tratar controles o algo similar
dependiendo de las necesidades, pero creo que lo mejor sera encararlo de
otra forma :-|

___________________________
Dani Castillo

Mis Fotos:
http://picasaweb.google.com/dcdani
___________________________
"Piolin Net" escribió en el mensaje
news:
> NO, no es el caso. Necesito añadir las funciones al evento onload en
> distintos momentos. antes y despues de estar cargada la pagina.
>
> En definitiva, añadir nuevas funciones teniendo ya el onload otras
> asignadas.
>
> gracias.
>
> "Dani Castillo" wrote:
>
>> Es mas complicado asi, ¿puedes montar en lugar de directamente sobre
>> onload
>> sobre una variable?
>>
>> algo como
>>
>> var cargatxt
>> .
>> cargatxt='function1();';
>> ..
>> cargatxt+='function2();';
>>
>> ojo a las comillas y el punto y coma, asi al final tendras una cadena de
>> caracteres y en el onload podras poner algo como
>> document.body.onload = function(){carga()};
>> function carga() {
>> eval(cargatxt)
>> }
>> que ejecuta todo lo introducido
>>
>>
>> otra opcion seria ir acumulando en un vector las distintas funciones a
>> llamar
>>
>> si realmente no tienes forma de saber si habia algo en el onload, podrias
>> tambien guardarlo en una variable y luego ejecutarlo, si es solo un paso
>> (no
>> lo he probado escribo de cabeza) :
>>
>> var anterior
>> anterior=document.body.onload
>> document.body.onload = function(){carga()};
>> function carga() {
>> ' aqui haces lo que quieres hacer ahora
>> ' y llamas a la antigua
>> anterior()
>> }
>>
>>
>> o probar con una idea parecida a hacerte un vector de funciones
>> "anteriores"
>> donde vas almacenando cada vez
>>
>> ___________________________
>> Dani Castillo
>>
>> Mis Fotos:
>> http://picasaweb.google.com/dcdani
>> ___________________________
>> "Piolin Net" escribió en el mensaje
>> news:
>> > Si , eso ya lo tenia en cuenta pero necesito poder añadir funciones
>> > cuando
>> > ya
>> > haya alguna con anterioridad ... sera algo dinamco sin concimineto de
>> > lo
>> > que
>> > habia antes.
>> >
>> > garcias.
>> >
>> > "Dani Castillo" wrote:
>> >
>> >> separandolas con punto y coma, o creando una funcion que llame a todas
>> >> las
>> >> demas (normalmente mas claro visualmente)
>> >>
>> >> document.body.onload = function(){carga()};
>> >> function carga() {
>> >> mostrar_datos_mensaje_espera();
>> >> funcion2()
>> >> funcion3()
>> >> }
>> >>
>> >>
>> >> ___________________________
>> >> Dani Castillo
>> >>
>> >> Mis Fotos:
>> >> http://picasaweb.google.com/dcdani
>> >> ___________________________
>> >> "Piolin Net" escribió en el
>> >> mensaje
>> >> news:
>> >> > Alo!
>> >> >
>> >> > estoy añadiendo funciones dinamicamente al evento onlad del body
>> >> > asi:
>> >> >
>> >> > document.body.onload = function(){mostrar_datos_mensaje_espera()};
>> >> >
>> >> > va bien. el problema lo encuentro cuando el onload del body ya tenia
>> >> > definido llamar a otra funcion como <body onload='otra_funcion()'>.
>> >> > digamos
>> >> > que me machaca la anterior.
>> >> > ¿como puedo agragar nuevas funciones sin perder las anteriores?
>> >>
>> >>
>> >>
>>
>>
>>



email Siga el debate Respuesta Responder a este mensaje
Ads by Google
Help Hacer una pregunta AnteriorRespuesta Tengo una respuesta
Search Busqueda sugerida