Я создал угловую директиву, которая связывает короткое замыкание клавиатуры. Однако, как только это связано, он сохраняет привязку для всех остальных div. Но я привязался только к одному div. Как я отвязаю его после того, как он выполнит и перевяжет, когда пользователь нажимает на этот div. например:Как развязать события короткого замыкания на клавиатуре в угловых js
angular.module('Dummy').directive('keypressEvents',
function ($document, $rootScope) {
return {
restrict: 'A',
link: function() {
$document.bind('keydown', function (e) {
if ((e.which == '115' || e.which == '83') && (e.ctrlKey || e.metaKey)){
$rootScope.$broadcast('Ctrl+s');
}
});
}
} });
в контроллере
$rootScope.$on('Ctrl+s', function (e) {
$scope.$apply(function() {
$scope.doDummyAction();
});
});
в HTML
<div keypress-events>this is a div that binds keyboard shortcut</div>
<div>Another div which doesn't need a short cut key</div>
Цените любые предложения.
Отлично. Это сработало. Большое спасибо. – user2406718