如何在Typescript中处理带参数的事件

时间:2013-12-17 13:15:58

标签: jquery jquery-mobile typescript

我正在将一个项目从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,因为它确实需要两个参数)

0 个答案:

没有答案