我正在将一个项目从Typescript 0.8.x升级到0.9.5,并包含来自DefinitelyTyped的最新JQuery * .d.ts。
我有很多事件,如:
$(document).on("pagehide", (event, ui) => { ... } );
现在产生错误:
error TS2082: Supplied parameters do not match any signature of call target:
1>
1> Call signatures of types '(event: JQueryEventObject, ui: any) => void' and '(eventObject: JQueryEventObject, ...args: any[]) => any' are incompatible:
1>
1> Call signature expects 1 or fewer parameters.
我可以将其重写为:
$(document).on("pagehide", (event) => { var ui = arguments[0]; ... } );
但这感觉不对。这样做的正确方法是什么?
我看到jquerymobile.d.ts定义了一个具有我想要的签名的JQueryMobileEvent接口,以及一个带有一个pagehide条目的JQueryMobileEvents ......但是我没有看到它在任何地方使用过。
(编辑:用pagehide替换了pagecreate,因为它确实需要两个参数)