Newline Proliferating Maniac
    Share your code. npm Orgs help your team discover, share, and reuse code. Create a free org »

    delegatepublic

    delegate

    Lightweight event delegation.

    Install

    You can get it on npm.

    npm install delegate --save
    

    If you're not into package management, just download a ZIP file.

    Setup

    Node (Browserify)
    var delegate = require('delegate');
    Browser (Standalone)
    <script src="dist/delegate.js"></script>

    Usage

    Add event delegation

    With the default base (document)

    delegate('.btn', 'click', function(e) {
        console.log(e.delegateTarget);
    }, false);

    With an element as base

    delegate(document.body, '.btn', 'click', function(e) {
        console.log(e.delegateTarget);
    }, false);

    With a selector (of existing elements) as base

    delegate('.container', '.btn', 'click', function(e) {
        console.log(e.delegateTarget);
    }, false);

    With an array/array-like of elements as base

    delegate(document.querySelectorAll('.container'), '.btn', 'click', function(e) {
        console.log(e.delegateTarget);
    }, false);

    Remove event delegation

    With a single base element (default or specified)

    var delegation = delegate(document.body, '.btn', 'click', function(e) {
        console.log(e.delegateTarget);
    }, false);
     
    delegation.destroy();

    With multiple elements (via selector or array)

    Note: selectors are always treated as multiple elements, even if one or none are matched. delegate() will return an array.

    var delegations = delegate('.container', '.btn', 'click', function(e) {
        console.log(e.delegateTarget);
    }, false);
     
    delegations.forEach(function (delegation) {
        delegation.destroy();
    });

    Browser Support

    Chrome logo Edge logo Firefox logo Internet Explorer logo Opera logo Safari logo
    Latest ✔ Latest ✔ Latest ✔ 9+ ✔ Latest ✔ Latest ✔

    License

    MIT License © Zeno Rocha

    install

    npm i delegate

    Downloadsweekly downloads

    310,045

    version

    3.2.0

    license

    MIT

    repository

    githubgithub

    last publish

    collaborators

    • avatar