D3 extends JavaScript's native event handling and dispatching mechanisms with objects, functions, and methods that facilitate integration with selections, transitions, and interactive behaviors. It provides container-scoped event objects for mouse and touch gestures, handler methods that can be attached to selections and transitions, and dispatchers for custom events that can be used to create notification mechanisms where any object can emit events to arbitrary listeners. This chapter explores the main tools you need to make any visualization interactive.
Transitions automatically animate changes to DOM elements, smoothly interpolating colors, positions, lengths, and other dimensions during a given duration. In this chapter, you will learn how to configure transitions and control aspects of the animation, such as easing algorithms, timing, scheduling...