/a17-behaviors

JavaScript framework to attach JavaScript events and interactions to DOM Nodes

Primary LanguageJavaScriptMIT LicenseMIT

a17-behaviors

A framework for attaching JavaScript behaviors (interactions, events, manipulations) to DOM nodes.

<button data-behavior="showAlert">Click me</button>

With a corresponding behavior:

import { createBehavior } from '@area17/a17-behaviors';

const showAlert = createBehavior('showAlert',
    {
        alert(val) {
            window.alert('Hello world!');
        }
    },
    {
        init() {
            this.$node.addEventListener('click', this.alert);
        },
        destroy() {
            this.$node.removeEventListener('click', this.alert);
        }
    }
);

export default showAlert;

This would show an alert on click of the button. Note that this.$node is the DOM node with the data-behavior attribute.

For more detailed setup and explanation, see the project wiki.