Posteriormente a buscar en varios repositorios y páginas webs finalmente hallamos la resolución que te compartiremos ahora.
Solución:
Necesitas agregar un directive
como 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.