Select2 has an internal event system that is used to notify parts of the component that state has changed, as well as an adapter that allows some of these events to be relayed to the outside word.

Adapter
SelectionAdapter
Decorator
EventRelay

Public events

All public events are relayed using the jQuery event system, and they are triggered on the <select> element that Select2 is attached to. You can attach to them using the .on method provided by jQuery.

Internal events

Select2 triggers internal events using its own internal event system, which allows adapters to communicate with each other. These events are not accessible through the jQuery event system.

You can find more information on the public events triggered by individual adapters in the individual adapter documentation.