Hur använder jag anpassade händelser i TypeScript?
Hur använder jag anpassade händelser i TypeScript?
I jQuery gör jag så här:
$("#btnShowExplorer").click(function () {
$.event.trigger("showexplorerpf");
});
och någon annanstans 'lyssnar' jag efter den händelsen
// bind to the special custom event
$('#idExplorerWindow').bind("showexplorerpf", function () {
// do stuff...
});
Jag flyttar nu min kod till TypeScript - jag har en referens till jQuery-typdefinitionfilen men $.event.trigger känns inte igen..
Tack
Svar #1
Du kan behöva utöka jQuery-gränssnittet. Mitt exempel har allt i en fil, men det behöver inte vara i samma fil - bara en som du refererar till.
interface JQueryEvent {
trigger(name: string): void;
}
interface JQueryStatic {
event: JQueryEvent;
}
$("#btnShowExplorer").click(function () {
$.event.trigger("showexplorerpf");
});
Svar #2
Faktiskt har trigger() flera signaturer.
Kolla http://api.jquery.com/trigger/
För mig fungerar detta bättre eftersom jag behöver skicka lite data med händelsen:
interface JQueryEvent {
trigger(name: string, data:any[]): void;
}
interface JQueryStatic {
event: JQueryEvent;
}
