Evitar propagar un evento con javascript.

Situación:
Tenemos un textbox o un input en html, en el que el usuario puede pulsar la tecla Enter. Al pulsar dicha tecla se puede lanzar un evento de perdida de foco o un submit de la pagina.

Para evitarlo, añadimos el siguiente código, que controla las pulsaciones de las teclas y controla las acciones al pulsar Enter.

  1. function keyEnter(e)

  2. {

  3. keynum=(document.all) ? e.keyCode : e.which;

  4. if (keynum == 13)

  5. {

  6. if (!e) e = window.event;

  7. if (e.preventDefault) {

  8. e.preventDefault();

  9. } else {

  10. e.returnValue = false;

  11. }


  12. if (e.stopPropagation) {

  13. e.stopPropagation();

  14. } else {

  15. e.cancelBubble = true;

  16. }

  17. }

  18. }



Por ultimo, solo nos queda añadir la llamada a la función desde el textbox:
  1. <asp:textbox id="txtID" onkeypress="keyEnter(event);" runat="server"></asp:textbox>

0 comentarios: