kist-toolbox
Version:
Various helpers for my projects.
27 lines (22 loc) • 600 B
JavaScript
/* jshint maxparams:false */
var $ = require('jquery');
/**
* @param {String} name
*
* @return {Function}
*/
module.exports = function ( name ) {
/**
* @param {Object} ctx
* @param {String} eventName
* @param {Array} data
* @param {jQuery} triggerEl
*/
return function ( ctx, eventName, data, triggerEl ) {
var el = (ctx.dom && ctx.dom.el) || ctx.$el || $({});
if ( ctx.options[eventName] ) {
ctx.options[eventName].apply((el.length === 1 ? el[0] : el.toArray()), data);
}
(triggerEl || el).trigger(((name || '') + eventName).toLowerCase(), data);
};
};