出于调试目的,我有时会检查ctrl
键是否被按下以获得特殊的秘密'动作。我可以在一个不需要事件处理程序本身的任意函数中执行此操作(它可能是某事件的回调,也可能是事件处理程序)。
我在打字稿中使用了以下内容
if (window.event.ctrlKey)
现在突然使用Visual Studio 2015 RTM(我假设这是TS 1.5),由于ctrlKey
不再位于event
对象中,因此不允许这样做。
我不确定为什么,我比任何事都更好奇。将其添加回来是否安全 ?它为什么被带走?
[顺便说一下,事实证明这可能不适用于Firefox,所以我也在寻找完整的跨平台解决方案]
答案 0 :(得分:2)
您可以自己轻松地将其添加到界面中。例如以下代码执行此操作:
interface Event{
ctrlKey : boolean;
}
if (window.event.ctrlKey){
}
查看lib.d.ts
上的文档:http://basarat.gitbooks.io/typescript/content/docs/types/lib.d.ts.html
如果使用类型断言,那说它会更好:
if ((<KeyboardEvent>window.event).ctrlKey){
}
查看关于类型断言的文档:http://basarat.gitbooks.io/typescript/content/docs/types/type-assertion.html