Foros del Web » Programando para Internet » Javascript »

el onload es solo para el body

Estas en el tema de el onload es solo para el body en el foro de Javascript en Foros del Web. una pregunta a todos el mi cuates onload solo funciona en el body, ya que lo he tratado de usar en otros elementos del html ...
  #1 (permalink)  
Antiguo 03/12/2011, 05:25
Avatar de jor_0203  
Fecha de Ingreso: octubre-2011
Ubicación: mexico
Mensajes: 760
Antigüedad: 13 años, 1 mes
Puntos: 8
el onload es solo para el body

una pregunta a todos el mi cuates onload solo funciona en el body, ya que lo he tratado de usar en otros elementos del html y no me sale.
ojala me puedan ayudar o dar un consejo para ver como se puede usar esto.
mil gracias

Código Javascript:
Ver original
  1. <!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Transitional//EN" "http://www.w3.org/TR/xhtml1/DTD/xhtml1-transitional.dtd">
  2. <html xmlns="http://www.w3.org/1999/xhtml">
  3. <head>
  4. <meta http-equiv="Content-Type" content="text/html; charset=utf-8" />
  5. <title>Documento sin t&iacute;tulo</title>
  6. <script>  
  7. function solo() {  alert("hola");}
  8. </script>
  9. <style type="text/css">
  10. <!--
  11. * { padding:0; margin:0; }
  12. #contenedor{
  13.             height: 300px;
  14.             width: auto;
  15.             background-color:#FF99CC;
  16.             }
  17. -->
  18. </style>
  19. </head>
  20. <body onload="solo()" >
  21. </body>
  22. </html>
  #2 (permalink)  
Antiguo 03/12/2011, 05:53
Avatar de caricatos
Moderador
 
Fecha de Ingreso: abril-2002
Ubicación: Torremolinos (Málaga)
Mensajes: 19.607
Antigüedad: 22 años, 7 meses
Puntos: 1284
Respuesta: el onload es solo para el body

Hola:

Mejor que el body es window, y al menos las imágenes... pero para el control de las imágenes a mi me gusta más chequear el atributo complete.

Saludos
__________________
Por favor:
No hagan preguntas de temas de foros en mensajes privados... no las respondo
  #3 (permalink)  
Antiguo 03/12/2011, 15:14
Avatar de jor_0203  
Fecha de Ingreso: octubre-2011
Ubicación: mexico
Mensajes: 760
Antigüedad: 13 años, 1 mes
Puntos: 8
Respuesta: el onload es solo para el body

Cita:
Iniciado por caricatos Ver Mensaje
Hola:

Mejor que el body es window, y al menos las imágenes... pero para el control de las imágenes a mi me gusta más chequear el atributo complete.

Saludos
entonces que debo hacer para que cargue inmediatamente mi escrito sin usar onload o como lo deb de hacer usando onload
gracias
  #4 (permalink)  
Antiguo 03/12/2011, 16:07
Avatar de IsaBelM
Colaborador
 
Fecha de Ingreso: junio-2008
Mensajes: 5.032
Antigüedad: 16 años, 5 meses
Puntos: 1012
Respuesta: el onload es solo para el body

onload no es el problema.

en lugar de
Cita:
<body onload="solo()" >
Cita:
<script type=2text/javascript">
function solo() { alert("hola");}
window.onload = function() {solo();};
</script>
o puedes usar los métodos addEventListener y attachEvent

con respecto a las imágenes
Cita:
<script type="text/javascript">
document.write('<img src="http://static.forosdelweb.com/fdwtheme/images/buttons/report.gif?'+Math.random()+'" style="display:none" onload="imagen(true);" onerror="imagen(false);" />');

function imagen(existe) {
if (!existe) {
alert('la imagen no ha sido cargada. comprueba la ruta');
} else {
alert('la imagen ha sido cargada');
}
}
</script>
mandas a llamar a una imagen y con los eventos onload y onerror compruebas si la imagen ha sido, o no, cargada.

también como te dice caricatos puedes condicionar la propiedad complete. pero esto último es sólo un tip
__________________
if(ViolenciaDeGénero) {alert('MUJER ASESINADA');}
  #5 (permalink)  
Antiguo 04/12/2011, 19:06
Avatar de jor_0203  
Fecha de Ingreso: octubre-2011
Ubicación: mexico
Mensajes: 760
Antigüedad: 13 años, 1 mes
Puntos: 8
Respuesta: el onload es solo para el body

Cita:
Iniciado por IsaBelM Ver Mensaje
onload no es el problema.

en lugar de


o puedes usar los métodos addEventListener y attachEvent

con respecto a las imágenes

mandas a llamar a una imagen y con los eventos onload y onerror compruebas si la imagen ha sido, o no, cargada.

también como te dice caricatos puedes condicionar la propiedad complete. pero esto último es sólo un tip



encontré esto pero solo funciona en explorer mi pregunta seria attachEvent esto solo funciona en explorer o hay algo malo en el escrito
o no se si tengas un ejemplo
mil gracias


Código Javascript:
Ver original
  1. <html>
  2. <body>
  3. <button id="myButton">Button</button>
  4. <button onclick="function3();">Apply an event handler "Button"</button>
  5. <button onclick="function2();">Detach</button>
  6. <script language="JavaScript">
  7.     function function3() {
  8.         document.all.myButton.attachEvent("onclick", function1)
  9.     }
  10.     function function1() {
  11.         document.bgColor = 'red';
  12.     }
  13.     function function2() {
  14.         document.bgColor = 'white';
  15.         document.all.myButton.detachEvent('onclick', function1);
  16.     }
  17. </script>
  18. </body>
  19. </html>

Última edición por jor_0203; 04/12/2011 a las 20:28
  #6 (permalink)  
Antiguo 05/12/2011, 06:45
Avatar de IsaBelM
Colaborador
 
Fecha de Ingreso: junio-2008
Mensajes: 5.032
Antigüedad: 16 años, 5 meses
Puntos: 1012
Respuesta: el onload es solo para el body

mientras que addEventListener es un método que lo aceptan todos los navegador, incluido ie9. para versiones antiguas de ie, use asé ie8-, hay que usar attachEvent. lee este tutorial

el código que muestras tiene unos cuantos errores, aparte que no le estás sacando ningún rendimiento al uso de attachEvent
Cita:
function capturaEvento(elemento,nomevento,funcion) {
if (elemento.attachEvent)
{
var fct=function(){
funcion.call(elemento,window.event);
}
elemento.attachEvent('on'+nomevento,fct);
return true;
}
else
if (elemento.addEventListener)
{
elemento.addEventListener(nomevento,funcion,false) ;
return true;
}
else
return false;
}



function ini() {
var elems = document.getElementsByTagName('a');
for(var i = 0; i < elems.length; i++){
capturaEvento(elems[i], 'click', function() {funcion(this.href);});
}
}


function funcion(color) {
document.body.style.background = color.split('#')[1];
}


window.onload = function() {ini();};


<a href="#red">RED</a>
<a href="#pink">PINK</a>
<a href="#yellow">YELLOW</a>
todo está en la función ini() que se usa para obtener la colección de elementos (a) usando el método getElementsByTagName() y invocar a la función capturaEvento() con la que invocamos ambos métodos (addEventListener y attachEvent)
__________________
if(ViolenciaDeGénero) {alert('MUJER ASESINADA');}

Etiquetas: body, funcion, html, onload
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 10:21.