diff --git a/assets/js/contact.js b/assets/js/contact.js index 0461ec2..5720920 100644 --- a/assets/js/contact.js +++ b/assets/js/contact.js @@ -7,12 +7,11 @@ 'use strict'; - const body = document.querySelector('body'); const form = document.querySelector('.contact-form'); const button = form.querySelector('[type=submit]'); const action = form.getAttribute('data-protect'); - function activateForm() { + const activateForm = function () { form.setAttribute('action', action); button.removeAttribute('disabled'); } @@ -21,15 +20,15 @@ form.classList.remove('hidden'); // Wait for a mouse to move, indicating they are human. - body.addEventListener('mousemove', () => activateForm()); + document.body.addEventListener('mousemove', activateForm, { once: true }); // Wait for a touch move event, indicating that they are human. - body.addEventListener('touchmove', () => activateForm()); + document.body.addEventListener('touchmove', activateForm, { once: true }); // A tab or enter key pressed can also indicate they are human. - body.addEventListener('keydown', function (e) { + document.body.addEventListener('keydown', function (e) { if ((e.key === 'Tab') || (e.key === 'Enter')) { activateForm(); } - }); + }, { once: true }); // Mark the form as submitted. button.addEventListener('click', () => form.classList.add('js-submitted'));