【发布时间】:2016-06-21 22:55:54
【问题描述】:
我创建了一个绑定键盘快捷键的角度指令。但是,一旦绑定,它将保留所有其他 div 的绑定。但我只附加了一个 div。当用户在该 div 中单击时,我如何在它执行后取消绑定并重新绑定。 例如:
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>
感谢任何建议。
【问题讨论】:
标签: javascript html angularjs