An event is an action that occurs within a web page, such as user interactions like clicks or keyboard presses. JavaScript uses event handlers and listeners to respond to events. There are three main ways to attach event handlers: inline, DOM properties, and addEventListener(). The event object provides information about the event, like the element it occurred on. Events follow the DOM event flow of capturing and bubbling. Multiple listeners can be added for an event. Event delegation improves efficiency by listening for events on a parent rather than individual children.