Foros del Web » Programando para Internet » Jquery »

Duda con el document.ready

Estas en el tema de Duda con el document.ready en el foro de Jquery en Foros del Web. Hola He leido que para asegurarnos en JS que un codigo se ejecuta antes de cargar completamente la pagina conviene incluirlo dentro de esta funcion: ...
  #1 (permalink)  
Antiguo 02/12/2012, 17:57
 
Fecha de Ingreso: abril-2011
Ubicación: Leon
Mensajes: 61
Antigüedad: 13 años, 8 meses
Puntos: 2
Duda con el document.ready

Hola

He leido que para asegurarnos en JS que un codigo se ejecuta antes de cargar completamente la pagina conviene incluirlo dentro de esta funcion:

$(document).ready(function() {

}

Asi lo hago habitualmente, meto ahi todo el codigo JS, y hago las capturas de los eventos desde aqui con jquery por ejemplo:

$('#boton_1').click(function() {
nuevoDato();
});


Sin embargo si intento hacer lo mismo colocando un evento inline con una llamada a una funcion en el propio codigo HTML asi:

<button type="button" id="boton_1" onclick="nuevoDato();">Texto</button>

He observado que solo funciona siempre que la funcion nuevoDato() este definida fuera de ese $document.ready

Imagino que la solucion es meter dentro de esa funcion ready el codigo que quiero que se ejecute por fuerza antes de cargar la pagina y dejar fuera el resto, pero porque sucede esto, porque no funciona esa funcion metida dentro del ready?


Gracias
  #2 (permalink)  
Antiguo 02/12/2012, 18:07
Avatar de David
Moderador
 
Fecha de Ingreso: abril-2005
Ubicación: In this planet
Mensajes: 15.720
Antigüedad: 19 años, 8 meses
Puntos: 839
Respuesta: Duda con el document.ready

Porque al poner la función nuevoDato dentro de esa función anónima solo pertenecerá a ese ámbito, no al ámbito global.
__________________
Por favor, antes de preguntar, revisa la Guía para realizar preguntas.
  #3 (permalink)  
Antiguo 02/12/2012, 23:21
Avatar de emprear
Colaborador
 
Fecha de Ingreso: junio-2007
Ubicación: me mudé
Mensajes: 8.388
Antigüedad: 17 años, 5 meses
Puntos: 1567
Respuesta: Duda con el document.ready

Cita:
Iniciado por sfvgekko Ver Mensaje
Hola

He leido que para asegurarnos en JS que un codigo se ejecuta antes de cargar completamente la pagina conviene incluirlo dentro de esta funcion:

$(document).ready(function() {

}

Asi lo hago habitualmente, meto ahi todo el codigo JS, y hago las capturas de los eventos desde aqui con jquery por ejemplo:

$('#boton_1').click(function() {
nuevoDato();
});


Sin embargo si intento hacer lo mismo colocando un evento inline con una llamada a una funcion en el propio codigo HTML asi:

<button type="button" id="boton_1" onclick="nuevoDato();">Texto</button>

He observado que solo funciona siempre que la funcion nuevoDato() este definida fuera de ese $document.ready

Imagino que la solucion es meter dentro de esa funcion ready el codigo que quiero que se ejecute por fuerza antes de cargar la pagina y dejar fuera el resto, pero porque sucede esto, porque no funciona esa funcion metida dentro del ready?


Gracias
Para no dejarlo en el aire y evitar confusiones, el concepto es al revés. el evento ready se inicia cuando todo el árbol del documento ha sido cargado, es decir que es "posterior" a la lectura del DOM y no anterior.

Saludos
__________________
La voz de las antenas va, sustituyendo a Dios.
Cuando finalice la mutación, nueva edad media habrá
S.R.
  #4 (permalink)  
Antiguo 03/12/2012, 04:20
 
Fecha de Ingreso: abril-2011
Ubicación: Leon
Mensajes: 61
Antigüedad: 13 años, 8 meses
Puntos: 2
Respuesta: Duda con el document.ready

Ok gracias a los 2

Etiquetas: funcion, html, 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 12:47.