# Handling Application Events

Use `<aura:handler>` in the markup of the handler component.

For example:

```nolang
<aura:handler event="c:appEvent" action="{!c.handleApplicationEvent}"/>
```

The `event` attribute specifies the event being handled. The format is `namespace:eventName`.

The `action` attribute of `<aura:handler>` sets the client-side controller action to handle the event.

:::note
The handler for an application event won’t work if you set the `name` attribute in `<aura:handler>`. Use the `name` attribute only when you’re handling component events.
:::

In this example, when the event is fired, the `handleApplicationEvent` client-side controller action is called.

## Event Handling Phases

The framework allows you to handle the event in different phases. These phases give you flexibility for how to best process the event for your application.

Application event handlers are associated with the default phase. To add a handler for the capture or bubble phases instead, use the `phase` attribute.

## Get the Source of an Event

In the client-side controller action for an `<aura:handler>` tag, use `evt.getSource()` to find out which component fired the event, where `evt` is a reference to the event. To retrieve the source element, use `evt.getSource().getElement()`.

- **[Handling Bubbled or Captured Application Events](/docs/platform/aura-platform/guide/events-application-handling-phases.md)**

  Event propagation rules determine which components in the containment hierarchy can handle events by default in the bubble or capture phases. Learn about the rules and how to handle events in the bubble or capture phases.

**See Also**

- [Handling Component Events](/docs/platform/aura-platform/guide/events-component-handling-intro.md)
