Events

Selectable fires a number of custom events that the instance can listen for.

You can attach a number of custom event listeners using the on() method and pass the event name and a callback as the first two arguments:

const selectable = new Selectable();

selectable.on('event_name', myCallback);

Event listeners can be detached by calling the off() method with the same arguments:

selectable.off('event_name', myCallback);

Both the on() and off() methods function the same as the native addEventListener and removeEventListener methods respectively.

This means that in order to remove a custom event listener from the instance, you must pass the same function expression to the off() method as you did to the on() method - declared / anonymous functions cannot be removed.

Incorrect

selectable.on('end', function(e, selected, unselected) {
    counter.value = selected.length;
});

Correct

const myCallback = function(e, selected, unselected) {
    counter.value = selected.length;
};

// add the event listener
selectable.on('end', myCallback);

// remove the event listener
selectable.off('end', myCallback);

Listening for an event once

const myCallback = function(e, selected, unselected) {
    // Do something once

    // Remove the event listener
    this.off('select', myCallback);
};

// Add the event listener
selectable.on('select', myCallback);

Event reference

NameDescription

The instance is ready.

The instance has been destroyed

An item was added to the instance.

An item was removed from the instance.

mousedown / touchstart.

mousemove / touchmove.

mouseup / touchend.

An item was selected.

An item was deselected.

An item has been marked for selection.

An item has been marked for deselection.

Save state change.

The instance was enabled.

The instance was disabled.

Last updated