PDFViewer.on()
Subscribe to a typed event. Document lifecycle events (
initialized, licenseChanged, documentLoaded, documentClosed) are global and fire on Kernstra.events, not here; a handler registered on the wrong emitter never runs and never warns — see EventEmitter.methodEventssince 1.0.0
Signature
on<K extends keyof ViewerEventMap>(event: K, handler: (data: ViewerEventMap[K]) => void, options?: SubscribeOptions): () => void
Parameters
| Parameter | Type | Description |
|---|---|---|
| event | keyof ViewerEventMap | A per-viewer event name — see Events. |
| handler | (data: ViewerEventMap[K]) => void | Receives the typed payload. |
| options? | SubscribeOptions | once hears the next emit only; signal unsubscribes when an AbortSignal aborts (a signal already aborted subscribes nothing). |
Returns
() => void The unsubscribe.
Throws
INVALID_STATEafterdestroy().
Example
TypeScript
const stop = viewer.on('pageChanged', ({ pageIndex }) => setCurrentPage(pageIndex)); stop(); const controller = new AbortController(); viewer.on('zoomChanged', ({ scale }) => setZoom(scale), { signal: controller.signal }); viewer.on('documentChanged', () => markDirty(), { signal: controller.signal }); controller.abort(); // both gone