src/ki.ie8.js
/*!
* ki.js - jQuery-like API super-tiny JavaScript library
* Copyright (c) 2014 Denis Ciccale (@tdecs)
* Released under MIT license
* Original source: https://github.com/dciccale/ki.js
*
* This was modified (not forked, though maybe it will be) to avoid conflicts with jQuery.
* $ was changed to $ki
* JSLint ignore comments were also added as well as a module.exports.
*
*/
/* jshint ignore:start */
!function (b, c, d, e, f) {
// addEventListener support?
f = b['add' + e];
/*
* init function (internal use)
* a = selector, dom element or function
* d = placeholder for matched elements
* i = placeholder for length of matched elements
*/
function i(a, d, i) {
for(d = (a && a.nodeType ? [a] : '' + a === a ? b.querySelectorAll(a) : c), i = d.length; i--; c.unshift.call(this, d[i]));
}
/*
* $ki main function
* a = css selector, dom object, or function
* http://www.dustindiaz.com/smallest-domready-ever
* returns instance or executes function on ready
*/
$ki = function (a) {
return /^f/.test(typeof a) ? /in/.test(b.readyState) ? setTimeout('$ki('+a+')', 9) : a() : new i(a);
};
// set ki prototype
$ki[d] = i[d] = {
// default length
length: 0,
/*
* on method
* a = string event type i.e 'click'
* b = function
* return this
*/
on: function (a, b) {
return this.each(function (c) {
return f ? c['add' + e](a, b, false) : c.attachEvent('on' + a, b);
});
},
/*
* off method
* a = string event type i.e 'click'
* b = function
* return this
*/
off: function (a, b) {
return this.each(function (c) {
return f ? c['remove' + e](a, b) : c.detachEvent('on' + a, b);
});
},
/*
* each method
* a = the function to call on each iteration
* b = the this value for that function (the current iterated native dom element by default)
* return this
*/
each: function (a, b) {
for (var c = this, d = 0, e = c.length; d < e; ++d) {
a.call(b || c[d], c[d], d, c);
}
return c;
},
// for some reason is needed to get an array-like
// representation instead of an object
splice: c.splice
};
}(document, [], 'prototype', 'EventListener');
/* jshint ignore:end */
module.exports = $ki;