# All files events.js

68.75% Statements 11/16
50% Branches 5/10
50% Functions 1/2
75% Lines 9/12

Press n or j to go to the next uncovered block, b, p or k for the previous block.

    1
    2
    3
    4
    5
    6
    7
    8
    9
    10
    11
    12
    13
    14
    15
    16
    17
    18
    19
    20
    21
    22
    23
    24
    25
    26
    27
    28
    29
    30
    31
    32
    33
    34
    35
    36
    37
    38
    3917x
    17x
    17x
    17x

    17x
    344x
    344x
    45x

    17x

     var bind = window.addEventListener ? 'addEventListener' : 'attachEvent',
      unbind = window.removeEventListener ? 'removeEventListener' : 'detachEvent',
      prefix = bind !== 'addEventListener' ? 'on' : '',
      toArray = require('./to-array')

    /**
     * Bind `el` event `type` to `fn`.
     *
     * @param {Element} el, NodeList, HTMLCollection or Array
     * @param {String} type
     * @param {Function} fn
     * @param {Boolean} capture
     * @api public
     */

    exports.bind = function(el, type, fn, capture){
      el = toArray(el);
      for ( var i = 0, il = el.length; i < il; i++ ) {
        el[i][bind](prefix + type, fn, capture || false);
      }
    }

    /**
     * Unbind `el` event `type`'s callback `fn`.
     *
     * @param {Element} el, NodeList, HTMLCollection or Array
     * @param {String} type
     * @param {Function} fn
     * @param {Boolean} capture
     * @api public
     */

    exports.unbind = function(el, type, fn, capture){
      el = toArray(el);
      for ( var i = 0, il = el.length; i < il; i++ ) {
        el[i][unbind](prefix + type, fn, capture || false);
      }
    }