In this chapter, you learned about native events, event listeners, and event systems. We saw that the internal D3 event system is very easy to use, and I strongly recommend you to use it for a visualization tool. It helps to keep your code more organized and follow the execution path through the code.
Then, you learned about interaction targets and how to compute the nearest element using bisectors and using the distances of all the elements relative to the click position.
In the last section, we implemented the common interaction techniques zooming and panning. With D3, these functions are implemented very easily. In the next chapter, you will learn about how to make transitions and animations.