Javascript 为什么';输入';事件具有“事件”类型的事件,而不是“InputEvent”`
嗨,我想知道为什么Javascript 为什么';输入';事件具有“事件”类型的事件,而不是“InputEvent”`,javascript,typescript,dom,types,Javascript,Typescript,Dom,Types,嗨,我想知道为什么'input'事件类型是事件类型(我认为应该是InputEvent) 我在这样做时遇到了这个问题: InputTextFieldListenerProps接口扩展了BaseTextFieldListenerProps{ 事件名称:提取; 回调(e?:InputEvent):无效; } if(isOnInputTextFieldProps(listenerProps)){ this.input.addEventListener(listenerProps.eventName,li
'input'
事件类型是事件类型(我认为应该是InputEvent
)
我在这样做时遇到了这个问题:
InputTextFieldListenerProps接口扩展了BaseTextFieldListenerProps{
事件名称:提取;
回调(e?:InputEvent):无效;
}
if(isOnInputTextFieldProps(listenerProps)){
this.input.addEventListener(listenerProps.eventName,listenerProps.callback.bind(this));
}
现在我得到了这个错误:
TS2345:类型为“(e?:InputEvent | undefined)=>void”的参数不可分配给类型为“(this:HTMLInputElement,ev:Event)=>any”的参数
这是完全正确的。但是为什么GlobalEventHandlersEventMap
被键入为事件而不是输入事件
您可以在这里5715行找到这个GlobalEventHandlersEventMap
界面
注
表示globalEventHandler.oninput
接口是InputEvent
oninput
可能相当于typescriptinput
。我这样认为是因为在MDN文档中,GlobalEventHandlers
接口的每个键都以on
开头
我还决定在Typescript repo中打开一个问题,您可以在这里找到:
因此,这个'input'
事件的主要原因是事件的类型而不是InputEvent
,是InputEvent
的一部分,而不是
如果您想了解更多信息,可以阅读Andrew Branch提供的