can-EVENT
Deprecated 2.2
Use event binding (($EVENT)="METHOD()"
) instead.
(EVENT)='{methodKey [argKey..] [hashName=hashKey...]}'
Specify a callback function to be called on a particular event. This is a shorthand for can-EVENT
attributes.
can-EVENT='{methodKey [argKey..] [hashName=hashKey...]}'
Specify a callback function to be called on a particular event. You can create your own special event types.
Parameters
-
EVENT
{String}
A event name like
click
orkeyup
. If you are using jQuery, you can listen to jQuery special events too. -
methodKey
{key}
A named key value in the current scope. The value should be a function.
-
argKey
{key}
Optional VariableKey values that will be passed as arguments to the
methodKey
function value. Key values can be read from the scope, or literals like"foo"
,1
, etc.The following key values are also supported:
@element
- The can.$ wrapped element the event happened upon.@event
- The event object.@viewModel
- If the element is a can.Component, the component's viewModel.@context
- The current context.@scope
- The current can.view.Scope.
If no
argKey
s orhashKey
s are provided, the methodKey will be called with the@context
,@element
and@event
as arguments. -
hashName
{String}
A property name that gets added to the
hash
argument. The hash argument is the last value passed to the function specified bymethodKey
. -
hashKey
{key}
Specifies value that is added to the
hash
argument for ahashName
value.hashKey
supports the same key values asargKey
.
Use
By adding
can-EVENT='methodKey'
to an element, the function pointed to bymethodKey
is bound to the element'sEVENT
event. The function can be passed any number of arguments from the surrounding scope, orname=value
attributes for named arguments. Direct arguments will be provided to the handler in the order they were given, exceptname=value
arguments, which will all be given as part of ahash
argument inserted after all direct arguments.If no
argKey
s orhashKey
s are provided, the methodKey will be called with the@content
,@element
and@event
as arguments.The following uses
can-click={items.splice @index 1}
to remove a item fromitems
when that item is clicked on.Special Event Types
can.view.bindings supports creating special event types (events that aren't natively triggered by the DOM), which are bound by adding attributes like
can-SPECIAL='KEY'
. This is similar to $.special.can-enter / (enter)
can-enter is a special event that calls its handler whenever the enter key is pressed while focused on the current element. For example:
The above template snippet would cause the save method (in the Mustache scope) whenever the user hits the enter key on this input.