# Raise global event from javascript in child

**URL:** <https://forums.fusetools.com/t/raise-global-event-from-javascript-in-child/5754>\
**Category:** How-to Discussions\
**Created:** [May 2, 2017, 7:13am UTC](https://forums.fusetools.com/t/raise-global-event-from-javascript-in-child/5754 "2017-05-02T07:13:11Z")\
**Posts on this page:** 5\
**Page:** 1

<div class="post-metadata">

**Author:** ![Palton](https://avatars.discourse-cdn.com/v4/letter/p/3d9bf3/32.png) [@Palton](https://forums.fusetools.com/u/Palton)\
**Post date:** [May 2, 2017, 7:13am UTC](https://forums.fusetools.com/t/raise-global-event-from-javascript-in-child/5754/1 "2017-05-02T07:13:11Z")

</div>

Hi!

Is it possible to raise events from child that are places just beneath the main tag from javascript?

---

<div class="post-metadata">

**Author:** ![Uldis](https://yyz1.discourse-cdn.com/flex035/user_avatar/forums.fusetools.com/uldis/32/657_2.png) [@Uldis](https://forums.fusetools.com/u/Uldis)\
**Post date:** [May 2, 2017, 7:47am UTC](https://forums.fusetools.com/t/raise-global-event-from-javascript-in-child/5754/2 "2017-05-02T07:47:56Z")

</div>

Hi Palton,

is there something that you have already tried? Your question alone does not provide enough insight to try to answer it.

Some code to explain exactly what you’re trying to achieve would help.

---

<div class="post-metadata">

**Author:** ![Palton](https://avatars.discourse-cdn.com/v4/letter/p/3d9bf3/32.png) [@Palton](https://forums.fusetools.com/u/Palton)\
**Post date:** [May 2, 2017, 8:00am UTC](https://forums.fusetools.com/t/raise-global-event-from-javascript-in-child/5754/3 "2017-05-02T08:00:31Z")

</div>

Hi Uldis!

I tried the following, but the event is outside of the scope of the page which raises the event.

MainView.ux

```auto
<App>
   <JavaScript>
         module.exports = {
              loggedInEventHandler : function() { /* do things here */}
         }
    </JavaScript>
   <UserEvent ux:Name="loggedInEvent"/>
   <OnUserEvent EventName="loggedInEvent" Handler="{loggedInEventHandler}"/>

   <!--- navigator here with several pages -->

</App>

```

Then inside one of the pages routed to by the navigator:

```auto
<Page ux:Class="Login">
    <Router ux:Dependency="router"/>
    <JavaScript>
        loggedInEvent.raise();
    </JavaScript>
</Page>

```

---

<div class="post-metadata">

**Author:** ![Uldis](https://yyz1.discourse-cdn.com/flex035/user_avatar/forums.fusetools.com/uldis/32/657_2.png) [@Uldis](https://forums.fusetools.com/u/Uldis)\
**Post date:** [May 2, 2017, 8:12am UTC](https://forums.fusetools.com/t/raise-global-event-from-javascript-in-child/5754/4 "2017-05-02T08:12:47Z")

</div>

Ah, I see.

The code you have posted looks alright from the `UserEvent` perspective. The only suspicious thing in it is how you raise the event from that subpage - I _think_ you should put in some function, not just have it laying there.

Other than that, if you have the `UserEvent` declaration on the root of the `App`, it _is_ global and can be raised from anywhere else in the app subtree, just as stated in [UserEvent docs](https://www.fusetools.com/docs/fuse/userevent).

Please check if this example helps you: [https://github.com/fusetools/fuse-samples/tree/master/Samples/UserEvents](https://github.com/fusetools/fuse-samples/tree/master/Samples/UserEvents)

---

<div class="post-metadata">

**Author:** ![thierry.feuzeu](https://avatars.discourse-cdn.com/v4/letter/t/ed8c4c/32.png) [@thierry.feuzeu](https://forums.fusetools.com/u/thierry.feuzeu)\
**Post date:** [March 24, 2018, 8:01pm UTC](https://forums.fusetools.com/t/raise-global-event-from-javascript-in-child/5754/5 "2018-03-24T20:01:05Z")

</div>

This issue can be resolved using dependency injection.

```auto
    <UserEvent ux:Name="eventHttpError" />

```

```auto
<Navigator>
    <Login ux:Name="loginPage" router="router" loggedInEvent="loggedInEvent" />
</Navigator>

```

```auto
<Page ux:Class="Login">
    <Router ux:Dependency="router"/>
    <UserEvent ux:Dependency="loggedInEvent" />
    <JavaScript>
        loggedInEvent.raise();
    </JavaScript>
</Page>

```
