博客
关于我
强烈建议你试试无所不能的chatGPT,快点击我
[Angular] Angular Global Keyboard Handling With EventManager
阅读量:5026 次
发布时间:2019-06-12

本文共 1304 字,大约阅读时间需要 4 分钟。

If we want to add global event handler, we can use 'EventManager' from '@angular/platform-broswer'.

 

Now we have a modal component, we want to click 'Esc' key to close the modal.

 

We set two input variables: 'closeOnEsc' for keyboard event. And 'closeOnClickOutside' to click event.

import {Component, Input, OnInit, TemplateRef} from '@angular/core';import {AuModalService} from './au-modal.service';import {EventManager} from '@angular/platform-browser';@Component({  selector: 'au-modal',  templateUrl: './au-modal.component.html',  styleUrls: ['./au-modal.component.scss']})export class AuModalComponent implements OnInit {  @Input() body: TemplateRef
; @Input() closeOnClickOutside = true; @Input() closeOnEsc = true; constructor(private auModelService: AuModalService, private eventManage: EventManager) { } ngOnInit() { this.eventManage.addGlobalEventListener('window', 'keyup.esc', () => { if (this.closeOnEsc) { this.closeModal(); } }) } onClick() { if (this.closeOnClickOutside) { this.closeModal(); } } closeModal() { this.auModelService.close(); } cancelCloseModal(evt: KeyboardEvent) { evt.preventDefault(); evt.stopPropagation(); }}

 

转载于:https://www.cnblogs.com/Answer1215/p/7106848.html

你可能感兴趣的文章
CI 框架中的日志处理 以及 404异常处理
查看>>
keepalived介绍
查看>>
css3 标签 background-size
查看>>
python itertools
查看>>
Linux内核调试技术——jprobe使用与实现
查看>>
样式、格式布局
查看>>
ubuntu设计文件权限
查看>>
Vue双向绑定原理详解
查看>>
Android基础总结(5)——数据存储,持久化技术
查看>>
关于DataSet事务处理以及SqlDataAdapter四种用法
查看>>
bootstrap
查看>>
http://lorempixel.com/ 可以快速产生假图
查看>>
工程经验总结之吹水"管理大境界"
查看>>
为什么JS动态生成的input标签在后台有时候没法获取到
查看>>
20189210 移动开发平台第六周作业
查看>>
java之hibernate之基于外键的双向一对一关联映射
查看>>
rxjs一句话描述一个操作符(1)
查看>>
第一次独立上手多线程高并发的项目的心路历程
查看>>
ServiceStack 介绍
查看>>
Centos7下载和安装教程
查看>>