1document.addEventListener("focusin", function(event) { 2 const elem = event && event.target && event.target.closest && event.target.closest("input,select,textarea,button,meter,progress"); 3 if ( elem ) { 4 window[ gtm4wp_datalayer_name ].push({ 5 'event' : 'gtm4wp.formElementEnter', 6 7 'inputID' : elem.getAttribute("id") || "(no input ID)", 8 'inputName' : elem.getAttribute("name") || "(no input name)", 9 'inputClass': elem.getAttribute("class") || "(no input class)", 10 11 'formID' : (elem.form && elem.form.getAttribute("id")) || "(no form ID)", 12 'formName' : (elem.form && elem.form.getAttribute("name")) || "(no form name)", 13 'formClass': (elem.form && elem.form.getAttribute("class")) || "(no form class)" 14 }); 15 } 16}, false); 17 18document.addEventListener("focusout", function(event) { 19 const elem = event && event.target && event.target.closest && event.target.closest("input,select,textarea,button,meter,progress"); 20 if ( elem ) { 21 window[ gtm4wp_datalayer_name ].push({ 22 'event' : 'gtm4wp.formElementLeave', 23 24 'inputID' : elem.getAttribute("id") || "(no input ID)", 25 'inputName' : elem.getAttribute("name") || "(no input name)", 26 'inputClass': elem.getAttribute("class") || "(no input class)", 27 28 'formID' : (elem.form && elem.form.getAttribute("id")) || "(no form ID)", 29 'formName' : (elem.form && elem.form.getAttribute("name")) || "(no form name)", 30 'formClass': (elem.form && elem.form.getAttribute("class")) || "(no form class)" 31 }); 32 }; 33}, false);
Line numbers count LF bytes from the start of the resource, as the search results do. Vendor segments are library code the classifier recognised; they are stored but not indexed. Bytes are shown as Latin1 characters, one per byte.