How to call stopPropagation in Typescript
Asked Answered
R

2

7

I'm trying to use stopPropagation method. I use d3.js with d3.d.ts (downloaded via typings). Is it possible to call stopPropagation somehow? I used event.stopPropagation() until I've run my application in firefox. Typings does have d3.event but it doesn't contain declaration of mentioned method.

Rumery answered 19/6, 2016 at 20:40 Comment(0)
R
14

It wasn't that hard actually. For stopPropagation I needed:

(d3.event as Event).stopPropagation();

The typings says that:

event: Event | BaseEvent

So essentialy event can be any of those. I've forgotten how union works in typescript. As the type property is only one common among Event and BaseEvent it was displayed solely. The one case when I needed cast to BaseEvent (I believe it is only used by d3) was on the dragstart event.

Rumery answered 20/6, 2016 at 0:9 Comment(1)
I think the typings might not be working for event anyhowPresentationism
S
2

You can narrow the type by doing a type guard style check:

if (d3.event instanceof Event) {
}

More : https://basarat.gitbooks.io/typescript/content/docs/types/typeGuard.html

Sailesh answered 20/6, 2016 at 6:51 Comment(0)

© 2022 - 2024 — McMap. All rights reserved.