如何在TypeScript中指定window.onblur?

如何在TypeScript中指定window.onblur?,typescript,Typescript,我正在尝试分配给window.onblur以调用KeyUp事件处理程序,这样当用户按住Alt+键从浏览器中移出时,我的网站会假定它不再被按下(因为据我所知,网站无法检测到浏览器外的键事件)。我遇到的问题很简单:我甚至无法分配给window.onblur而不让TypeScript抱怨它 TypeScript告诉我:“类型为“()=>void”的参数不能分配给类型为“FocusEvent”的参数。类型为“()=>void.”的代码中缺少属性“relatedTarget” window.onblur(

我正在尝试分配给window.onblur以调用KeyUp事件处理程序,这样当用户按住Alt+键从浏览器中移出时,我的网站会假定它不再被按下(因为据我所知,网站无法检测到浏览器外的键事件)。我遇到的问题很简单:我甚至无法分配给window.onblur而不让TypeScript抱怨它

TypeScript告诉我:“类型为“()=>void”的参数不能分配给类型为“FocusEvent”的参数。类型为“()=>void.”的代码中缺少属性“relatedTarget”

window.onblur(() => alert("Just Work!"));
以及:

window.onblur(function() { alert("Why don't you work?!"); });
我甚至尝试过传递一个新的
FocusEvent
,它似乎想要,但我不知道该给FocusEvent什么

window.onblur(new FocusEvent("What do you want?!", new FocusEventInit(() => CatManagerDashboardClass.handleCtrlKeyUp()));

我看到的JavaScript示例与我在这里给出的前两个示例相同;我做错了什么?我只想让TypeScript“编译”这段代码,如果它是有效的代码。

您在调用window对象上的
onblur
函数时尝试执行的操作

您需要使用
addEventListener()
窗口上的
onblur
事件添加一个事件侦听器,该侦听器接受一个事件字符串和一个回调:

window.addEventListener('blur', () => alert('window blur'));

在这里,您试图对窗口对象调用
onblur
函数

您需要使用
addEventListener()
窗口上的
onblur
事件添加一个事件侦听器,该侦听器接受一个事件字符串和一个回调:

window.addEventListener('blur', () => alert('window blur'));

你是想分配而不是打电话吗<代码>window.onblur=()=>警报(“工作”)您的意思是分配而不是调用<代码>window.onblur=()=>警报(“工作”).on(“someEventName”),()=>alert(“处理事件!”)
;我实际上想写的是
window.onblur=()=>alert(“处理窗口模糊”)
。您要小心覆盖默认的
onblur
事件,添加和删除新侦听器要安全得多我没有意识到这会覆盖任何默认行为;
窗口。onblur
在我分配给它之前是
null
。您可能可以安全地使用它,但如果您开始使用具有默认行为内置,可能会产生奇怪的ressultsAh,真不敢相信我没有看到!我最近一直在编写很多JQuery事件处理程序,其中赋值调用是:
.on(“someEventName”),()=>警报(“处理事件!”)
;我实际上想写的是
window.onblur=()=>警报(“处理窗口模糊”)
。您要小心覆盖默认的
onblur
事件,添加和删除新侦听器要安全得多我没有意识到这会覆盖任何默认行为;
窗口。onblur
在我分配给它之前是
null
。您可能可以安全地使用它,但如果您开始使用具有默认行为内置,可能会产生奇怪的结果