Building a custom widget from scratch
The most powerful aspect of jQuery UI isn't the prebuilt widgets that ship with it, but rather, the machinery used to build those widgets. Each widget shares a common infrastructure called the widget factory, and this is exposed to developers using the framework. The widget factory provides a means for developers to define their own widgets. We've already glimpsed the widget factory in action throughout this book. We've been using it to extend the capabilities of any given widget. The focus of this section takes on a different perspective of the widget factory. That is, how can we use it to build our own widgets from the ground up?
Well, we don't want to start with nothing, as that would defeat the whole purpose of the widget factory. Instead, the aim when building any widget is to utilize the generic capabilities that the base widget class makes available. In addition, there are some basic design principles that developers should try to stick with when...