Saltar al contenido

¿Cómo usar un evento de pulsación de tecla en AngularJS?

Posteriormente a buscar en varios repositorios y páginas webs finalmente hallamos la resolución que te compartiremos ahora.

Solución:

Necesitas agregar un directivecomo esto:

JavaScript:

app.directive('myEnter', function () 
    return function (scope, element, attrs) 
        element.bind("keydown keypress", function (event) 
            if(event.which === 13) 
                scope.$apply(function ()
                    scope.$eval(attrs.myEnter);
                );

                event.preventDefault();
            
        );
    ;
);

HTML:

Una alternativa es usar la directiva estándar ng-keypress="myFunct($event)"

Luego, en su controlador puede tener:

...

$scope.myFunct = function(keyEvent) 
  if (keyEvent.which === 13)
    alert('I am an alert');


...

Mi enfoque más simple usando solo la directiva de integración angular:

ng-keypress, ng-keydown o ng-keyup.

Por lo general, queremos agregar soporte de teclado para algo que ya se maneja con ng-click.

por ejemplo:

action

Ahora, agreguemos soporte de teclado.

desencadenar por entrar key:

action

por espacio key:

action

por espacio o enter key:

action

si estás en un navegador moderno

action

Más sobre el código clave:
keyCode está en desuso pero es una API bien compatible, puede usar $evevt.key en el navegador compatible en su lugar.
Ver más en https://developer.mozilla.org/en-US/docs/Web/API/KeyboardEvent/key

valoraciones y comentarios

Te invitamos a patrocinar nuestra investigación escribiendo un comentario y dejando una valoración te damos las gracias.

¡Haz clic para puntuar esta entrada!
(Votos: 0 Promedio: 0)



Utiliza Nuestro Buscador

Deja una respuesta

Tu dirección de correo electrónico no será publicada. Los campos obligatorios están marcados con *