function(target, type, properties) {
			if(_.type(target) === 'string' || _.type(target) === 'array') {
				var elements = _.type(target) === 'string'? $$(target) : target;
				
				elements.forEach(function(element) {
					_.event.fire(element, type, properties);
				});
			}
			else if (document.createEvent) {
				var evt = document.createEvent("HTMLEvents");
		
				evt.initEvent(type, true, true );
				evt.custom = true;
		
				if(properties) {
					_.attach(evt, properties);
				}
		
				target.dispatchEvent(evt);
			}
		}
function(target, type, properties) {
			if(_.type(target) === 'string' || _.type(target) === 'array') {
				var elements = _.type(target) === 'string'? $$(target) : target;
				
				elements.forEach(function(element) {
					_.event.fire(element, type, properties);
				});
			}
			else if (document.createEvent) {
				var evt = document.createEvent("HTMLEvents");
		
				evt.initEvent(type, true, true );
				evt.custom = true;
		
				if(properties) {
					_.attach(evt, properties);
				}
		
				target.dispatchEvent(evt);
			}
		}
function ( target , type , properties ) { if ( _ . type ( target ) === 'string' || _ . type ( target ) === 'array' ) { var elements = _ . type ( target ) === 'string' ? $$ ( target ) : target ; elements . forEach ( function ( element ) { _ . event . fire ( element , type , properties ) ; } ) ; } else if ( document . createEvent ) { var evt = document . createEvent ( "HTMLEvents" ) ; evt . initEvent ( type , true , true ) ; evt . custom = true ; if ( properties ) { _ . attach ( evt , properties ) ; } target . dispatchEvent ( evt ) ; } }
Fire a custom event
Fire a custom event
Fire an event on an element or array of elements