RGJS6 Events module.
Members
-
<inner, constant> _options :object
-
Default options for
on()andoff()Type:
- object
Properties:
Name Type Description bindobject Binds the
thisfor the callback like so:callback.bind(value).captureboolean Event capture option.
onceboolean Event once option.
passiveboolean Event passive option.
removeExistingboolean Remove existing listeners if the selector and eventName match.
Methods
-
<static> cleanupListeners()
-
Clean up stored listeners.
This method is deprecated and no longers does anything.- Deprecated:
-
- Yes
-
<static> emit(name [, obj] [, detail])
-
Emit an event.
Note: Uses obj.dispatchEvent, runs sync.
Note #2: Does not bubble, is not cancelable.Parameters:
Name Type Argument Default Description namestring Name of the event.
objobject <optional>
window Optional. Emitter of the event. Defaults to 'window'.
detailobject <optional>
{} Optional. The object containing the details.
Returns:
True if event was fired, false if not.
- Type
- boolean
Example
// Listen for a custom event, then fire it. rgjs.events.on('my_event', window, () => { console.log('My event fired!'); }); rgjs.events.emit('my_event', window); -
<static> off(eventName, selector [, cb] [, opts])
-
Unregister an event listener.
Note: rgjs can only remove listeners that were registered usingon()!Parameters:
Name Type Argument Description eventNamestring Name of the event to bind (click, scroll, etc). Multiple event names are allowed (separate by space).
selector* The selector for the element. See rgjs.dom.selectElements().
cbfunction <optional>
Optional. The callback for the event.
optsobject <optional>
Optional. See rgjs.events.options for defaults.
Returns:
Number of elements that no longer have a listener.
- Type
- int
Examples
// Remove the listener that calls `this.onclick`. rgjs.events.on('click', 'span.link', this.onclick); rgjs.events.off('click', 'span.link', this.onclick);// Remove all click listeners bound to `span.link` (in this case: `this.onclick_1` and `-.onclick_2`). rgjs.events.on('click', 'span', this.onclick_1, {bind: this}); rgjs.events.on('click', 'span.link', this.onclick_2, {bind: this}); rgjs.events.off('click', 'span.link'); -
<static> on(eventName, selector [, cb] [, opts])
-
Register an event listener.
Note: Use option {bind: this} instead of cb.bind(this):on('click', '.link', clickHandler, {bind: this}).
This ensures that rgjs can find the event listener when callingoff('click', '.link', clickHandler).Parameters:
Name Type Argument Description eventNamestring Name of the event to bind (click, scroll, etc). Multiple event names are allowed (separate by space).
selector* The selector for the element. See rgjs.dom.selectElements().
cbfunction <optional>
The callback for the event.
optsobject <optional>
Optional. See rgjs.events.options for defaults.
Returns:
Number of elements that now have a listener.
- Type
- int
Examples
// Call `this.onclick` function when `span.link` is clicked. rgjs.events.on('click', 'span.link', this.onclick);// Like the above, but bind bind `onclick` to `this` instead of the target element. rgjs.events.on('click', 'span.link', this.onclick, {bind: this});// Events are bound as passive by default, so if you don't want this because you need to, for example, call `event.preventDefault()`: rgjs.events.on('click', 'span.link', this.onclick, {passive: false}); -
<static> preventDefault(event)
-
Prevent default.
Parameters:
Name Type Description eventevent The event.
- Deprecated:
-
- Yes
-
<static> preventDefaultStopPropagation(event)
-
Prevent default and stop propagation.
Parameters:
Name Type Description eventevent The event.
- Deprecated:
-
- Yes
-
<static> stopPropagation(event)
-
Stop propagation.
Parameters:
Name Type Description eventevent The event.
- Deprecated:
-
- Yes
-
<static> trigger(name, selector [, opts])
-
Trigger a standard event on an element.
Parameters:
Name Type Argument Default Description namestring Name of the event to trigger.
selector* The selector for the element. See rgjs.dom.selectElements().
optsobject <optional>
{} Options are optional.
Properties
Name Type Argument Default Description bubblesboolean <optional>
true Passed to element.dispatchEvent()
cancelableboolean <optional>
true Passed to element.dispatchEvent()
Example
// Trigger an event rgjs.events.trigger('change', input_element);