-
-
Notifications
You must be signed in to change notification settings - Fork 5
Element Event
StefansArya edited this page May 8, 2020
·
6 revisions
This is how we define callback on our model
sf.model('...', function(self){
self.callMe = function(event){
console.warn(arguments);
// this == Related element
// arguments[0] == Event
// arguments[1] == self
/* When using sf-repeat-this element (RepetedElement feature) */
// arguments[1] == item value
// arguments[2] == self (model scope)
}
self.callMeArguments = function(text, ev){
// arguments[0] == 'hello'
// arguments[1] == Event
}
});
And you can register any element for listening to an event by adding attribute with @
and the event name, that pointing to function name.
<a @click="callMe"></a>
<a @mouseup.left="callMe"></a>
<!-- You can also define the parameter -->
<a @click="callMeArguments('hello', event)"></a>
<!-- With control button -->
<a @mouseup.ctrl.left="callMe"></a>
<!-- Keyboard key must be started with UpperCase-->
<input type="text" @keyup.ctrl.Enter="callMe"/>
<input type="text" @keyup.ArrowUp.once="callMe"/>
once, prevent, stop, passive, capture are available
<!-- Letters are case sensitive -->
<input type="text" @keyup.Z="callMe"/> UpperCase `Z`
<input type="text" @keyup.z="callMe"/> LowerCase `z`
Almost all event are supported like keyup, mousedown, touchup, scroll, etc.
Key | name |
---|---|
left | Primary button (usually the left button) |
right | Secondary button (usually the right button) |
middle | Auxilary button (usually the mouse wheel button or middle button) |
4th | 4th button (typically the "Browser Back" button) |
5th | 5th button (typically the "Browser Forward" button) |
The pointer event is coming from pointerup, pointerdown, pointermove, etc.
<!-- Right click but prevent context menu -->
<a @pointerup.right.prevent="callMe"></a>
<!-- Ctrl + Left click -->
<a @pointerup.left.ctrl="callMe"></a>
event | description |
---|---|
taphold | Trigger event when user clicked around 0.7s |
gesture | Trigger event when user doing 2 finger tap or CTRL + Click for rotate or scale behaviour |
dragmove | Trigger event when user doing 2 finger tap for move behaviour |
filedrop | Trigger event when file was dropped on the element |
There are small example for you to try.
- Framework
-
Installation
- Build Configuration
- Hot Reload
- Loader
- Model
-
Component
- Reserved Element
- Empty Shell
- Include external template
- Space
-
Views (Router)
- URI
- Static Template
- Language
- Element's query helper
- Events
- URL Request
- Window Extends