当前位置: 首页 > 面试题库 >

创建全局键盘快捷键的AngularJS方法是什么?

漆雕誉
2023-03-14
问题内容

我想应该使用伪指令,但是将伪指令添加到正文中却侦听文档中的事件似乎很奇怪。

什么是正确的方法?

更新:找到了AngularJSUI,并看到了它们对keypress指令的实现。


问题答案:

这就是我使用jQuery完成此操作的方式-我认为有更好的方法

var app = angular.module('angularjs-starter', []);

app.directive('shortcut', function() {
  return {
    restrict: 'E',
    replace: true,
    scope: true,
    link:    function postLink(scope, iElement, iAttrs){
      jQuery(document).on('keypress', function(e){
         scope.$apply(scope.keyPressed(e));
       });
    }
  };
});

app.controller('MainCtrl', function($scope) {
  $scope.name = 'World';
  $scope.keyCode = "";
  $scope.keyPressed = function(e) {
    $scope.keyCode = e.which;
  };
});



<body ng-controller="MainCtrl">
  <shortcut></shortcut>
  <h1>View keys pressed</h1>
  {{keyCode}}
</body>

plnkr演示



 类似资料:
  • 应用于键盘无焦点时的键盘快捷键. 进程: 主进程​ global-shortcut模块可以便捷的设置(注册/注销)各种自定义操作的快捷键. 注意: 这种快捷键是全局性的,即键盘没有聚焦于应用时,本模块需应用于在 ready后. 1 const {app, globalShortcut} = require('electron') 2 ​ 3 app.on('ready', () => { 4 //

  • 主要内容:Windows 和 Mac 的键盘快捷键,基本的快捷键,文本编辑,Web 浏览器,屏幕截图通过使用键盘快捷键可以节省时间。 Windows 和 Mac 的键盘快捷键 在现代操作系统中和计算机软件程序中,键盘快捷键经常被使用。 使用键盘快捷键能帮您节省很多时间。 基本的快捷键 描述 Windows Mac OS 编辑菜单 Alt + E Ctrl + F2 + F 文件菜单 Alt + F Ctrl + F2 + E 视图菜单 Alt + V Ctrl + F2 + V 全选文本 Ctr

  • 配置本地和全局键盘快捷键 本地快捷键 您可以使用Menu模块来配置仅在应用程序集中时才触发的键盘快捷键。为此,在创建MenuItem时务必指定[`accelerator]属性。 1 const {Menu, MenuItem} = require('electron') 2 const menu = new Menu() 3 ​ 4 menu.append(new MenuItem({ 5 lab

  • 配置本地和全局键盘快捷键 Keyboard Shortcuts Configure local and global keyboard shortcuts 本地快捷键 您可以使用 [Menu] 模块来配置快捷键,只有在 app 处于焦点状态时才可以触发快捷键。 为此,在创建 MenuItem时必须指定一个 [accelerator] 属性。 const { Menu, MenuItem } = r

  • 键盘快捷键 控制台配备了一套非常方便的键盘快捷键,使其工作效率更高。下面是一段概述: 一般编辑 Ctrl/Cmd + I 当前请求自动缩进。 Ctrl + Space 打开自动补全 (即使没有打字也可以)。 Ctrl/Cmd + Enter 提交请求。 Ctrl/Cmd + Up/Down 跳转到上一个/下一个请求的开始或结束。 Ctrl/Cmd + Alt + L 折叠或展开当前代码块。 Ctr

  • 概览 该功能允许你为 Electron 应用程序配置应用和全局键盘快捷键。 示例 本地快捷键 应用键盘快捷键仅在应用程序被聚焦时触发。 为了配置本地快捷键,你需要在创建Menu模块中的MenuItem时指定accelerator属性。 Starting with a working application from the Quick Start Guide, update the main.js