events
{Object<eventDescription,eventHandler(element, event)()>}
Listen to events on elements and observables.
{Object<eventDescription,eventHandler(element, event)()>}
Listen to events on elements and observables.
Use
can.Component's events object allows you to provide low-level can.Control-like abilities to a
can.Component
while still accessingcan.Component
's objects and methods like viewModel. The following example listens to clicks on elements withclassName="next"
and calls.next()
on the component's viewModel.The events object can also listen to objects or properties on the component's viewModel. For instance, instead of using live-binding, we could listen to when offset changes and update the page manually:
Components have the ability to bind to special inserted and removed events that are called when a component's tag has been inserted into or removed from the page:
High performance template rendering
While can.view.bindings conveniently allows you to call a viewModel method from a template like:
This has the effect of binding an event handler directly to this element. Every element that has a
can-click
or similar attribute has an event handler bound to it. For a large grid or list, this could have a performance penalty.By contrast, events bound using can.Component's events object use event delegation, which is useful for high performance template rendering. In a large grid or list, event delegation only binds a single event handler rather than one per row.