gpt4 book ai didi

angular 2 HostListener - 按键空间事件在 IE 中不起作用

转载 作者:太空狗 更新时间:2023-10-29 18:25:10 25 4
gpt4 key购买 nike

我在 IE11 中遇到了 @HostListener 的问题。当用户使用 keydown 事件获取空格时,我需要捕捉,我的代码非常简单,它在 Chrome 和 FireFox 中运行良好,但在 IE 中不起作用。

import {Component, HostListener} from '@angular/core';

@Component({
selector: 'home',
styleUrls: ['./home.component.css'],
templateUrl: './home.component.html'
})
export class HomeComponent {
@HostListener('window:keydown.control.space', ['$event'])
@HostListener('window:keydown.space', ['$event'])
spaceEvent(event: any) {
alert('space key!');
}
}

在 IE 开发者工具中,我没有看到任何错误或警告,我不知道如何解决这个问题。有什么解决这个问题的建议吗?

最佳答案

我找到了解决方案。 IE 还不能正确处理许多不同的事件,需要使用 @HostListener('window:keydown', ['$event']) 然后捕获一些 keyCode

例子:

import {Component, HostListener} from '@angular/core';

@Component({
selector: 'home',
styleUrls: ['./home.component.css'],
templateUrl: './home.component.html'
})
export class HomeComponent {

@HostListener('window:keydown', ['$event'])
spaceEvent(event: any) {
if(event.ctrlKey && event.keyCode == 32)
console.log('ctrl + space');
else if(event.keyCode == 32)
console.log('space');
}
}

关于angular 2 HostListener - 按键空间事件在 IE 中不起作用,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/44564525/

25 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com