Skip to Content
D3 for the Impatient
book

D3 for the Impatient

by Philipp K. Janert
May 2019
Intermediate to advanced
256 pages
6h 5m
English
O'Reilly Media, Inc.
Book available
Content preview from D3 for the Impatient

Chapter 4. Events, Interactivity, and Animation

When rendered by a browser, SVG elements can receive user events and can be manipulated as a whole (for example, to change their position or appearance). This means that they behave essentially like widgets in a GUI toolkit. That’s an exciting proposition: to regard SVG as a widget set for graphics. This chapter discusses the options available to create those essential features of a user interface: interactivity and animation.

Events

An important aspect of the DOM is its event model: essentially any DOM element can receive events and invoke an appropriate handler. The number of different event types is very large; most important for our purposes are user-generated events (mouse clicks or movements, as well as keystrokes; see Table 4-1).1

Table 4-1. Some important user-generated event types
Function Description

click

Any mouse button is pressed and released on an element.

mousemove

The mouse is moved while over an element.

mousedown, mouseup

A mouse button is pressed or released over an element.

mouseenter, mouseleave

The mouse pointer is moved onto or off of an element.

mouseover, mouseout

The mouse pointer is moved onto or off of an element, or any of its children.

keydown, keyup

Any key is pressed or released.

D3 treats event handling as part of the Selection abstraction (see Table 4-2). If sel is a Selection instance, then you use the following member function to register a callback as event handler ...

Become an O’Reilly member and get unlimited access to this title plus top books and audiobooks from O’Reilly and nearly 200 top publishers, thousands of courses curated by job role, 150+ live events each month,
and much more.
Start your free trial

You might also like

D3.js in Action, Second Edition

D3.js in Action, Second Edition

Elijah Meeks
D3.js in Action

D3.js in Action

Elijah Meeks

Publisher Resources

ISBN: 9781492046783Errata Page