Special events
Some events, such as mouseenter
and ready
, are designated as special events by the jQuery internals. Such events get the opportunity to take action at various times in the life cycle of an event handler. They may react to handlers being bound or unbound, and they can even have preventable default behaviors like those that clicked links or submitted forms do. The special event API lets us create sophisticated new events that act much like native DOM events.
The throttling behavior we implemented for scrolling in Listing 10.13 is useful and could be generalized for use elsewhere. One way to accomplish this is to create a new event that encapsulates the throttling technique within the special event hooks.
In order to implement a special behavior for an event, we add a property to the $.event.special
object. This property, whose key is our event name, has a value which is itself an object. This special event object has five special properties we may define if we wish, each of which...