gpt4 book ai didi

javascript - 如何在 IE 和 PhantomJS 中使用 Typescript 创建 KeyboardEvent

转载 作者:行者123 更新时间:2023-11-29 10:30:05 25 4
gpt4 key购买 nike

我正在使用 Angular2 并且有一个采用 KeyboardEvent 对象的方法。我想为此方法编写测试(如果重要的话,使用 Karma 和 Jasmine)。

我使用 KeyboardEvent 构造函数编写了一些,它在 Chrome 中运行良好,但在 IE 和 PhantomJS 中失败。有没有一种方法可以在这些浏览器中运行?

方法签名:

public onDateKeypress(evt: KeyboardEvent): boolean {
// ...
}

当前测试示例:

let ke = new KeyboardEvent("keypress", { "key": "" + i, });
onDateKeypress(ke);

最佳答案

这就是我最终得到的结果,我愿意接受更好的解决方案。

let ke = <KeyboardEvent>{ "key": "" + i, };
onDateKeypress(ke);

解释:typescript 代码将被编译为 Javascript,而 Javascript 不关心数据的“类型”,只关心对象具有正确的属性/方法。

在我的例子中,onDateKeypress 方法只使用 evt 参数的“key”属性,所以这就是我需要在我的测试对象上设置的所有内容。

需要将匿名对象转换为键盘事件,这样 Typescript 才能编译而不会报错,因为该方法需要一个 KeyboardEvent 类型的对象。

关于javascript - 如何在 IE 和 PhantomJS 中使用 Typescript 创建 KeyboardEvent,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/48361368/

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