# Javascript: DocumentViewerController.addEventListener Method

> Registers a listener for a public viewer event.

- **Product:** DS Server
- **Section:** Reference
- **Kind:** Method
- **Introduced:** 29.0
- **Path:** DS Server > Reference > JavaScript API - Document Viewer > Javascript: DocumentViewerController.addEventListener Method
- **281 words**
- **Web URL:** https://docs.textcontrol.com/ds-server/reference/javascript-document-viewer/documentviewercontroller/addeventlistener-method/
- **LLMs URL:** https://docs.textcontrol.com/ds-server/reference/javascript-document-viewer/documentviewercontroller/addeventlistener-method/llms.txt
- **LLMs-Full URL:** https://docs.textcontrol.com/ds-server/reference/javascript-document-viewer/documentviewercontroller/addeventlistener-method/llms-full.txt

---

### Description

Registers a listener for a public viewer event.

### Syntax

```javascript
<function> DocumentViewerController.addEventListener(<K> eventName, <function> callback)
```

### Parameters

| Parameter | Description |
|---|---|
| eventName | Viewer event name. |
| callback | Event-specific listener. |

### Return Value

Function that removes this listener.

### Examples

The following example demonstrates `TXDocumentViewer.addEventListener` in a practical Document Viewer workflow. The addEventListener function registers event listener functions on the TXDocumentViewer object.

```javascript
TXDocumentViewer.addEventListener("annotationsChanged", function() {
    const annotationJson = TXDocumentViewer.annotations.export();
    console.log("Annotations changed:", annotationJson);
});
```

---

## Nearby

- **Previous:** [Javascript: DocumentViewerController.__init__ Method](https://docs.textcontrol.com/ds-server/reference/javascript-document-viewer/documentviewercontroller/init-method/llms-full.txt)
- **Next:** [Javascript: DocumentViewerController.annotations Property](https://docs.textcontrol.com/ds-server/reference/javascript-document-viewer/documentviewercontroller/annotations-property/llms-full.txt)
