The Infusion framework defines an event system which is used by many of its components. Why did we construct a new event system when there are (at least) two event systems already in common use in a jQuery-enabled page? Browser events and their jQuerified equivalents are too tied to the DOM and its infrastructure. Considered in MVC terms, a jQuery event is more appropriately attached to the View layer of an application, whereas Fluid events are used to propagate pure Javascript function calls, and more appropriately attached to the Model layer. Using browser/jQuery events in this context would lead to inappropriate responsibilities for having to always determine a DOM node as the target/originator for an event, and to have a constrained event signature which must accept a browser event as the first argument. Anchor |
---|
name | eventtypesdescription |
---|
|
Events TypesBy default, most Fluid component events are multi-cast (that is the event is fired to all registered listeners), but some events may be one of the following two special types: |