2011-04-03 13 views
5

¿Se puede utilizar el evento .ready() en otras etiquetas que no sean documentos? ejemplo:Puede usarse el evento .ready() en otras etiquetas que el documento

$("#test").ready(function() { 
    $("#test").click(function() { 
    alert("test"); 
    }); 
}); 
+0

¿por qué lo necesitarías? Si el documento se ha cargado, significa que todo el DOM está listo para ser manipulado, a menos que esté cargando contenido dinámicamente. En ese caso, puede usar $ ('. My_class'). Live ('click', function() {}); dentro del controlador de eventos document.ready para vincular eventos a DOM que aún no se pueden cargar. –

Respuesta

10

Citando .ready()'s documentation's page:

El método .ready() sólo se puede llama en un objeto jQuery que coincida con el documento actual


El selector se puede omitir , pero no cambiará nada: todavía funcionará en el documento ment.

0

Sí, puede, pero se disparará al mismo tiempo que $ (documento) .ready() de todos modos, ¿cuál sería el punto?

+0

Lo sentimos, Pascal Martin tiene razón. –

1

en mi opinión $ ("# test"). Ready significa que comprueba que #test está cargado en dom o no. el punto @ZeSimon tiene que si carga el documento, entonces es seguro que #test está incluido en dom. pero en algún momento el contenido proviene de la solicitud ajax, entonces no está cargado en dom y no funciona si llamas al evento click sobre ellos.

la longitud> 0 se puede utilizar para verificar que #test exista en lugar de estar listo para usar porque no tiene sentido verificarlo con el evento ready.

si su #test provenir de petición ajax entonces usted tiene alguna opción

  1. unen el evento click en ellos

  2. uso en vivo ('clic') para unir un evento para el contenido [quien tal vez venga a través de la solicitud ajax]

Cuestiones relacionadas