Foros del Web » Programando para Internet » Jquery »

[SOLUCIONADO] Duda con código javascript

Estas en el tema de Duda con código javascript en el foro de Jquery en Foros del Web. Si tengo esto no sale el alert: Código: <body> <script type="text/javascript"> $("#filter").click(function(){ alert('clicked!'); }); </script> <div id="borradivf">hergregre</div> <input type="button" id="filter" name="filter" value="Filter" /> </body> </html> ...
  #1 (permalink)  
Antiguo 03/10/2013, 04:38
 
Fecha de Ingreso: diciembre-2010
Mensajes: 459
Antigüedad: 13 años, 11 meses
Puntos: 21
Duda con código javascript

Si tengo esto no sale el alert:
Código:
<body>
<script type="text/javascript">
$("#filter").click(function(){
    alert('clicked!');
});

</script>	
	
<div id="borradivf">hergregre</div>
<input type="button" id="filter" name="filter" value="Filter" />

</body>
</html>
pero si tengo esto:
Código:
<body>

	
<div id="borradivf">hergregre</div>
<input type="button" id="filter" name="filter" value="Filter" />


<script type="text/javascript">
$("#filter").click(function(){
    alert('clicked!');
});

</script>	

</body>
</html>

Por que?

Gracias
__________________
Oye los consejos de todo el mundo, y sigue el tuyo.
Si te han ayudado deja un karma y si no te han ayudado pero vez util la información tb deja un karma xD
Sirdaiz
  #2 (permalink)  
Antiguo 03/10/2013, 05:51
Avatar de javioreto  
Fecha de Ingreso: enero-2005
Ubicación: C:\España\Bilbao
Mensajes: 1.212
Antigüedad: 19 años, 9 meses
Puntos: 15
Respuesta: Duda con código javascript

En la propia documentación de jquery te indican que la segunda opción es la correcta:

http://api.jquery.com/click/

Supongo que hasta que el documento no ha sido procesado por el DOM del navegador el script no puede cargar el evento .click()

Se me ocurre que que al ejecutar $("#").click(function() la jquery podría crear internamente un array con todas las etiquetas que concuerden con "filter" pero si lo haces antes del documento el array estaría vacío.
  #3 (permalink)  
Antiguo 03/10/2013, 11:25
Avatar de neglivv  
Fecha de Ingreso: julio-2011
Mensajes: 103
Antigüedad: 13 años, 4 meses
Puntos: 11
Respuesta: Duda con código javascript

javioreto Tiene razón, el evento "click" no se aplica al input porque aun no ha sido cargado en el DOM. Por esto de la segunda manera si funciona, ya el input ya está procesado...
Sin embargo, con jquery puedes definir que el evento sea aplicado al input una vez esté cargada toda la página. Así:

Código HTML:
<body>
<script type="text/javascript">
$(document).ready(function(){ //cuando el document este cargado completamente

$("#filter").click(function(){
    alert('clicked!');
});

});                                            //-----

</script>	
	
<div id="borradivf">hergregre</div>
<input type="button" id="filter" name="filter" value="Filter" />

</body>
</html> 
  #4 (permalink)  
Antiguo 04/10/2013, 01:02
 
Fecha de Ingreso: diciembre-2010
Mensajes: 459
Antigüedad: 13 años, 11 meses
Puntos: 21
Respuesta: Duda con código javascript

Gracias perfectto!
__________________
Oye los consejos de todo el mundo, y sigue el tuyo.
Si te han ayudado deja un karma y si no te han ayudado pero vez util la información tb deja un karma xD
Sirdaiz

Etiquetas: html, input, javascript
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 15:48.