From 91c998271b78079161f0c414597abd3bb51756a9 Mon Sep 17 00:00:00 2001 From: luchenqun Date: Thu, 18 May 2017 11:04:35 +0800 Subject: [PATCH] =?UTF-8?q?=E5=B1=8F=E8=94=BD=E6=8C=89Ctrl+c=E4=B9=8B?= =?UTF-8?q?=E7=B1=BB=E7=9A=84=E5=BF=AB=E6=8D=B7=E6=93=8D=E4=BD=9C=EF=BC=8C?= =?UTF-8?q?=E8=AF=AF=E6=89=93=E5=BC=80=E5=85=A8=E5=B1=80=E9=93=BE=E6=8E=A5?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit --- .../scripts/controllers/menus-controller.js | 19 ++++++++++++++++++- public/scripts/services/data-service.js | 5 +++-- 2 files changed, 21 insertions(+), 3 deletions(-) diff --git a/public/scripts/controllers/menus-controller.js b/public/scripts/controllers/menus-controller.js index f7bc6f8..53b28a1 100644 --- a/public/scripts/controllers/menus-controller.js +++ b/public/scripts/controllers/menus-controller.js @@ -8,6 +8,7 @@ app.controller('menuCtr', ['$scope', '$stateParams', '$state', '$window', '$time $scope.searchHistory = []; $scope.historyTypes = dataService.historyTypes; $scope.quickUrl = { }; + $scope.longPress = false; // 防止在登陆的情况下,在浏览器里面直接输入url,这时候要更新菜单选项 pubSubService.subscribe('Common.menuActive', $scope, function(event, params) { @@ -193,9 +194,14 @@ app.controller('menuCtr', ['$scope', '$stateParams', '$state', '$window', '$time // 在输入文字的时候也会触发,所以不要用Ctrl,Shift之类的按键 $document.bind("keydown", function(event) { $scope.$apply(function() { + var key = event.key.toUpperCase(); + if (key == 'CONTROL' || key == 'SHIFT' || key == 'ALT') { + $scope.longPress = true; + } + if (dataService.keyShortcuts()) { - var key = event.key.toUpperCase(); // 全局处理添加备忘录 + // console.log('keydown key = ', key); if (key == 'A') { if ($scope.selectLoginIndex !== dataService.LoginIndexNote) { updateMenuActive($scope.selectLoginIndex = dataService.LoginIndexNote); @@ -215,4 +221,15 @@ app.controller('menuCtr', ['$scope', '$stateParams', '$state', '$window', '$time }) }); + // 在输入文字的时候也会触发,所以不要用Ctrl,Shift之类的按键 + $document.bind("keyup", function(event) { + $scope.$apply(function() { + var key = event.key.toUpperCase(); + // console.log('keyup key = ', key); + if (key == 'CONTROL' || key == 'SHIFT' || key == 'ALT') { + $scope.longPress = false; + } + }) + }); + }]); diff --git a/public/scripts/services/data-service.js b/public/scripts/services/data-service.js index 753709f..8f391b6 100644 --- a/public/scripts/services/data-service.js +++ b/public/scripts/services/data-service.js @@ -71,9 +71,10 @@ app.factory('dataService', [function() { keyShortcuts: function() { // 判断快捷方式是否生效 var ret = true; var menusScope = $('div[ng-controller="menuCtr"]').scope(); - var login = (menusScope && menusScope.login) || false; + var login = (menusScope && menusScope.login); + var longPress = (menusScope && menusScope.longPress); - if (login) { + if (login && (!longPress)) { do { // 如果有对话框(删除,备忘录详情等) ret = $(".ngdialog").length == 0;