Foros del Web » Programando para Internet » Jquery »

Problema con propagación de eventos en jquery

Estas en el tema de Problema con propagación de eventos en jquery en el foro de Jquery en Foros del Web. Hola a todos!! Os cuento mi problema, tengo el siguiente código jquery: @import url("http://static.forosdelweb.com/clientscript/vbulletin_css/geshi.css"); Código Javascript : Ver original ... $ ( "input[type='button']" ) . ...
  #1 (permalink)  
Antiguo 30/08/2010, 03:03
 
Fecha de Ingreso: octubre-2008
Ubicación: Plasencia
Mensajes: 109
Antigüedad: 16 años, 2 meses
Puntos: 6
Problema con propagación de eventos en jquery

Hola a todos!!
Os cuento mi problema, tengo el siguiente código jquery:

Código Javascript:
Ver original
  1. ...
  2. $("input[type='button']").keydown(function(e){
  3.     if(e.which==13){
  4.          e.preventDefault();
  5.          ...
  6.          $("a").focus();
  7.     }
  8. });
  9.  
  10. ...

El código lo que hace es asignar un manejador para el evento keydown a un boton, de modo que cuando el usuario presiona una tecla compruebo si es INTRO y en tal caso ejecuto una serie de acciones y luego transmito el foco a un enlace, el problema es que al transmitir el foco se ejecuta también la acción asociada al enlace en el evento click y eso es lo que quiero evitar, alguien sabe alguna manera?? he probado con "e.stopPropagation();" y poniendo "return false;" al final pero no hay manera. De antemano gracias y un saludo.
  #2 (permalink)  
Antiguo 30/08/2010, 05:00
 
Fecha de Ingreso: diciembre-2009
Ubicación: Misiones
Mensajes: 867
Antigüedad: 15 años
Puntos: 65
Respuesta: Problema con propagación de eventos en jquery

no es esto?


Código HTML:
Ver original
  1. <title>Prueba</title>
  2. <script src="http://ajax.googleapis.com/ajax/libs/jquery/1.4.2/jquery.min.js"></script>
  3.    
  4. $(function (){
  5.     $("input[type='button']").keydown(function(e){
  6.         if(e.which==13){
  7.             $("a").focus();
  8.             return false;
  9.         }
  10.     });
  11. })
  12. </head>
  13.     <form action="aaa.aaa" method="get">
  14.         <input type="button" value="asd">
  15.     </form>
  16.     <a href="ddd.ddd">asd</a>
  17. </body>
  18. </html>
  #3 (permalink)  
Antiguo 30/08/2010, 05:57
 
Fecha de Ingreso: octubre-2008
Ubicación: Plasencia
Mensajes: 109
Antigüedad: 16 años, 2 meses
Puntos: 6
Respuesta: Problema con propagación de eventos en jquery

yo también pienso que sería así pero en mi caso no funciona, si por ejemplo asigno un manejador para el evento keydown en el elemento "document" y cuando se dispara ese manejador tras la pulsación de una tecla ejecuto una serie de acciones y despues situó el foco sobre un campo de texto, me escribe la tecla pulsada (si es una tecla imprimible) en el campo de texto. Pienso que debe ser porque tras situar el foco sobre el campo de texto en el evento keydown, sobre dicho campo de texto tienen lugar los eventos keypress y keyup, pero no conozco ninguna manera de evitar que esto ocurra.
Saludos.
  #4 (permalink)  
Antiguo 30/08/2010, 06:09
 
Fecha de Ingreso: diciembre-2009
Ubicación: Misiones
Mensajes: 867
Antigüedad: 15 años
Puntos: 65
Respuesta: Problema con propagación de eventos en jquery

postea un ejemplo completo para entender bien el problema

Etiquetas: eventos
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:30.