使用现有的definitelyTyped jquery.d.ts 声明,我无法做到这一点:
/// <reference path="../Scripts/typings/jquery/jquery.d.ts" />
declare var firstEvent;
var newEvent = new jQuery.Event(firstEvent);
但这会产生编译器错误:
testing.ts(3,19): new expression only valid on constructors
根据 jquery.d.ts,这是有道理的,因为 jQuery.Event 被定义为函数而不是类型。
我可以强制它强制转换为任何:
/// <reference path="../Scripts/typings/jquery/jquery.d.ts" />
declare var firstEvent;
var newEvent = new <any>jQuery.Event(firstEvent);
但是大锤感觉不对。
这是 TypeScript 声明的限制还是 jquery.d.ts 定义的限制?