首页
学习
活动
专区
圈层
工具
发布
社区首页 >问答首页 >dispatchEvent KeyboardEvent类型问题

dispatchEvent KeyboardEvent类型问题
EN

Stack Overflow用户
提问于 2018-10-31 02:55:14
回答 1查看 550关注 0票数 0

在我的Angular单元测试中,我在尝试为本机元素上的退格键按下触发keyup事件时遇到了问题。

如果我尝试:

代码语言:javascript
复制
debugElement.nativeElement.dispatchEvent(new KeyboardEvent('keyup', {code: 'Backspace'}));

我得到了一个TypeError:

代码语言:javascript
复制
TypeError: KeyboardEventConstructor is not a constructor (evaluating 'new KeyboardEvent('keyup', { code: 'Backspace' })')

我的编辑器(VSCode)中没有任何错误,如果我按照类型定义执行(到DOM类型文件),则KeyboardEvent的构造函数是:

代码语言:javascript
复制
new(typeArg: string, eventInitDict?: KeyboardEventInit): KeyboardEvent;

第二个arg采用如下定义的接口:

代码语言:javascript
复制
interface KeyboardEventInit extends EventModifierInit {
    code?: string;
    key?: string;
    location?: number;
    repeat?: boolean;
}

我不确定我在哪里出错了,有人能帮我吗?

谢谢

EN

回答 1

Stack Overflow用户

发布于 2018-11-01 17:40:42

(假设您使用的是ng-cli代码转换)似乎工作得很好,下面是一个stackblitz

由于它的类型错误,它可能是一个不兼容的lib.dom.d.ts版本,或者您在编译/转译TS时以某种方式进行了设置。

(以下建议可能会出现与Angular的版本不兼容)

首先尝试使用任何一种方法更新类型

最新npm安装类型脚本@

或者简单地检查您的package.json "typescript":"~2.7.2“是否使用最新版本,并根据您的Angular版本进行配置。

票数 0
EN
页面原文内容由Stack Overflow提供。腾讯云小微IT领域专用引擎提供翻译支持
原文链接:

https://stackoverflow.com/questions/53071115

复制
相关文章

相似问题

领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档