import { onEvent, onError } from '../track'; import { util } from '../util'; const clickableDom: Array = ['a', 'button', 'input', 'textarea']; export default function (type: 'click' | 'focusout') { document.addEventListener(type, (event: any) => { var target = event.target || event.srcElement; var data = target.getAttribute("href") || target.textContent || target.value; var page = event.srcElement.baseURI || "Not Available"; var HTML = target.outerHTML || "Not Available"; util.each(clickableDom, true, (domName: string, domType: string) => { if (event.target['tagName'].toLowerCase() === domName && type == domType) { onEvent({ type: util.capitalizeFirstLetter(type), data: (data != "" ? data : ''), occurredAt: new Date(), source: domName + " (" + target.id + ")", page: page, HTML: HTML }); } }); }); }