如何在TypeScript中使用自定义事件?
如何在TypeScript中使用自定义事件 在jQuery中,我执行以下操作:如何在TypeScript中使用自定义事件?,typescript,Typescript,如何在TypeScript中使用自定义事件 在jQuery中,我执行以下操作: $("#btnShowExplorer").click(function () { $.event.trigger("showexplorerpf"); }); 而在别的地方,我“倾听”着那件事 // bind to the special custom event $('#idExplorerWindow').bind("showexplor
$("#btnShowExplorer").click(function () {
$.event.trigger("showexplorerpf");
});
而在别的地方,我“倾听”着那件事
// bind to the special custom event
$('#idExplorerWindow').bind("showexplorerpf", function () {
// do stuff...
});
我现在将代码移动到TypeScript-我有一个对jQuery类型的引用,但无法识别$.event.trigger
谢谢您可能需要扩展jQuery接口。我的示例将所有内容都放在一个文件中,但不必放在同一个文件中,只需引用一个文件即可
interface JQueryEvent {
trigger(name: string): void;
}
interface JQueryStatic {
event: JQueryEvent;
}
$("#btnShowExplorer").click(function () {
$.event.trigger("showexplorerpf");
});
您可能需要扩展jQuery接口。我的示例将所有内容都放在一个文件中,但不必放在同一个文件中,只需引用一个文件即可
interface JQueryEvent {
trigger(name: string): void;
}
interface JQueryStatic {
event: JQueryEvent;
}
$("#btnShowExplorer").click(function () {
$.event.trigger("showexplorerpf");
});
实际上,trigger()有多个签名
检查
对我来说,这更有效,因为我需要发送一些带有事件的数据:
interface JQueryEvent {
trigger(name: string, data:any[]): void;
}
interface JQueryStatic {
event: JQueryEvent;
}
实际上,trigger()有多个签名
检查
对我来说,这更有效,因为我需要发送一些带有事件的数据:
interface JQueryEvent {
trigger(name: string, data:any[]): void;
}
interface JQueryStatic {
event: JQueryEvent;
}
它添加了类型信息,以便TypeScript了解jQuery的功能。它们称为类型定义。因此,可以使用此方法扩展TypeScript提供的静态检查,以覆盖普通JavaScript。更好的是,如果您发现正在使用的JQuery类型定义不支持JQuery所做的某些事情,请修复它,然后向DefiniteTyped提交拉取请求:。(您使用的是DefinitelyTyped定义,对吗?)DefinitelyTyped是我流程的第1步和第5步:它添加类型信息,以便TypeScript了解jQuery的功能。它们称为类型定义。因此,可以使用此方法扩展TypeScript提供的静态检查,以覆盖普通JavaScript。更好的是,如果您发现正在使用的JQuery类型定义不支持JQuery所做的某些事情,请修复它,然后向DefiniteTyped提交拉取请求:。(您正在使用DefinitelyTyped定义,对吗?)DefinitelyTyped是我流程的第1步和第5步: