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

时间:2013-01-21 15:40:01

标签: typescript

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

在jQuery中我这样做:

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

和其他地方我'听'那个事件

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

            // do stuff...

        });

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

由于

2 个答案:

答案 0 :(得分:1)

您可能需要扩展jQuery接口。我的例子将它全部放在一个文件中,但它不必在同一个文件中 - 只是你引用的文件。

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

interface JQueryStatic {
    event: JQueryEvent;
}

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

答案 1 :(得分:0)

实际上触发器()有多个签名。

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

对我来说这更好用,因为我需要通过事件发送一些数据:

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

interface JQueryStatic {
    event: JQueryEvent;
}