//= require evil-front/jquery
(function() {
evil.$.extend('outside', function (callback) { var parent = this; var event = function(e) { var el = $(e.target); if ( !el.closest(parent).length ) { callback(); off(); } }; if ( document.body.addEventListener ) { var set = function () { document.body.addEventListener('click', event, true); document.body.addEventListener('focus', event, true); } var off = function () { document.body.removeEventListener('click', event, true); document.body.removeEventListener('focus', event, true); }; } else { var name = '.evil-outside-' + (new Date()).valueOf(); var set = function () { evil.body.on('click' + name + ' focus' + name, event); } var off = function () { evil.body.off(name); }; } setTimeout(set, 10); return off; });
})();