2
키보드 단축키를 바인딩하는 각도 지시문을 만들었습니다. 그러나 일단 바인드되면 다른 모든 div에 대한 바인딩을 유지합니다. 그러나 나는 하나의 div에만 붙였다. 사용자가 해당 div 내에서 클릭하면 실행 후 바인딩을 다시 바인딩하는 방법 예 : 컨트롤러각도 js에서 키보드 단축키 이벤트를 바인딩 해제하는 방법
$rootScope.$on('Ctrl+s', function (e) {
$scope.$apply(function() {
$scope.doDummyAction();
});
});
에서
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');
}
});
}
} });
<div keypress-events>this is a div that binds keyboard shortcut</div>
<div>Another div which doesn't need a short cut key</div>
HTML에서 어떤 제안을 주셔서 감사합니다.
좋습니다. 그것은 효과가 있었다. 고마워. – user2406718