Как выглядит ожидаемый обработчик для события onClick jQuery в TypeScript, который принимает eventData?
Обработчик без eventData может быть определен следующим образом:
let onClick(event: JQuery.Event): void
, который может бытьзарегистрировано так:
$("#btn").click(onClick);
При такой регистрации он отлично работает в моей тестовой скрипке :
$("#btn").click("data3", onClick);
Но моя IDE жалуется:
Ошибка TS2345 (TS) Аргумент типа '(event: Event) => any' не может быть назначен параметру типа 'EventHandler |EventHandlerBase>».Тип '(event: Event) => any' нельзя назначить типу 'EventHandlerBase>'.Типы параметров 'событие' и 't' несовместимы.Тип «Событие» нельзя назначить типу «Событие».Тип "data3" не может быть назначен типу null.
Я понимаю, что в первом случае (без eventData) тип обработчика:
JQuery.EventHandler<TElement>
а во втором случае (с eventData):
JQuery.EventHandler<TElement, TData>
, где TData
- тип eventData (строка в моем примере).Но как такой обработчик событий объявляется с использованием допустимого и безопасного типа синтаксиса TypeScript?