Necesito activar el evento de clic usando la tecla Intro usando una directiva. Necesito que sea una directiva porque me gustaría reutilizarla.
Ej: un div que tiene algunos eventos onclick vinculados, estableceré el foco en el div usando tabindex="0" y el teclado ingresa la tecla hacia abajo para activar el evento de clic.
es posible? He intentado debajo del código para una directiva pero no funciona.
(function () { 'use strict'; angular .module('app.directives') .directive('enterKeyInput', enterKeyInput); enterKeyInput.$inject = []; /* @ngInject */ function enterKeyInput() { var directive = { restrict: 'AC', link: function (scope, element, attrs) { element.bind("keydown keypress", function (event) { if (event.keyCode === 13) { element.click(); } }); } }; return directive; }})();
Encontré la respuesta yo mismo :D
(función () { 'uso estricto';
angular .module('app.directives') .directive('enterKeyInput', enterKeyInput); enterKeyInput.$inject = []; /* @ngInject */ function enterKeyInput() { return { restrict: 'AC', link: function (scope, element, attrs) { element.bind('keyup', function (e) { if ([13].indexOf(e.which) !== -1) { e.preventDefault(); e.stopPropagation(); element.click(); } }); } }; }})();