Dataset/JS/ToDoApp_AngularJS/js/directives/todoEscape.js (22 lines of code) (raw):

/*global define*/ 'use strict'; /** * Directive that catches the "Escape" key on the element applied to and evaluates the expression it binds to. */ define([ 'angular' ], function (angular) { var moduleName = 'TodoEscapeDirective'; angular .module(moduleName, []) .directive('todoEscape', function () { var ESCAPE_KEY = 27; return function (scope, elem, attrs) { elem.bind('keydown', function (event) { if (event.keyCode === ESCAPE_KEY) { scope.$apply(attrs.todoEscape); } }); scope.$on('$destroy', function () { elem.unbind('keydown'); }); }; }); return moduleName; });