1

如何在 TypeScript 中使用自定义事件?

在 jQuery 中,我这样做:

$("#btnShowExplorer").click(function () {
            $.event.trigger("showexplorerpf");
        });

在其他地方我“听”那个事件

        // bind to the special custom event
        $('#idExplorerWindow').bind("showexplorerpf", function () {

            // do stuff...

        });

我现在将我的代码移动到 TypeScript - 我有一个 jQuery 类型def 文件的引用,但 $.event.trigger 无法识别..

谢谢

4

2 回答 2

1

您可能需要扩展 jQuery 接口。我的示例将所有内容都放在一个文件中,但不一定要放在同一个文件中 - 您只需引用一个文件即可。

interface JQueryEvent {
    trigger(name: string): void;
}

interface JQueryStatic {
    event: JQueryEvent;
}

$("#btnShowExplorer").click(function () {
    $.event.trigger("showexplorerpf");
});
于 2013-01-21T15:49:50.780 回答
0

实际上trigger()有多个签名。

检查 http://api.jquery.com/trigger/

对我来说,这更好,因为我需要发送一些带有事件的数据:

interface JQueryEvent {
    trigger(name: string, data:any[]): void;
}

interface JQueryStatic {
    event: JQueryEvent;
}
于 2015-12-07T08:59:32.410 回答