vanillajs-browser-helpers
Version:
Collection of convenience code snippets (helpers) that aims to make it a little easier to work with vanilla JS in the browser
27 lines (26 loc) • 881 B
JavaScript
;
var __importDefault = (this && this.__importDefault) || function (mod) {
return (mod && mod.__esModule) ? mod : { "default": mod };
};
Object.defineProperty(exports, "__esModule", { value: true });
const isEventTarget_1 = __importDefault(require("./isEventTarget"));
const customEvent = (name, data) => {
const options = { bubbles: true };
if (typeof data !== 'undefined') {
options.detail = data;
}
return new CustomEvent(name, options);
};
function trigger(elm, eventNames, data) {
if (!(0, isEventTarget_1.default)(elm)) {
data = eventNames;
eventNames = elm;
elm = document;
}
if (!Array.isArray(eventNames)) {
eventNames = [eventNames];
}
eventNames.forEach((evt) => elm.dispatchEvent(customEvent(evt, data)));
return elm;
}
exports.default = trigger;