简体   繁体   中英

EventListener click doesn't work on mobile devices and incognito windows

I would like to ask if you have any idea why this code doesn't work on mobile and incognito windows. With servisBtn I open a popup window which I am trying to fill with click/touchstart functions. Like this:

 const servisBtn = document.querySelector('.servis-form')
    const nazevStroje = document.querySelector('.nazev')
    const rokVyroby = document.querySelector('.elementor-repeater-item-bb1ab3b .uael-table__text .uael-table__text-inner')
    const oznaceni = document.querySelector('.elementor-repeater-item-c0d944d .uael-table__text .uael-table__text-inner')
    const cisloRamu = document.querySelector('.elementor-repeater-item-70247b9 .uael-table__text .uael-table__text-inner')
    const cisloMotoru = document.querySelector('.elementor-repeater-item-67c33aa .uael-table__text .uael-table__text-inner')

servisBtn.addEventListener('touchstart', function(){
    setTimeout(() => {
      document.querySelector('.stroj input').value = nazevStroje.innerText;
      document.querySelector('.rok-vyroby input').value = rokVyroby.innerText;
      document.querySelector('.oznaceni input').value = oznaceni.innerText;
      document.querySelector('.cislo-ramu input').value = cisloRamu.innerText;
      document.querySelector('.cislo-motoru input').value = cisloMotoru.innerText;
    })
  });

servisBtn.addEventListener('click', function(){
    setTimeout(() => {
      document.querySelector('.stroj input').value = nazevStroje.innerText;
      document.querySelector('.rok-vyroby input').value = rokVyroby.innerText;
      document.querySelector('.oznaceni input').value = oznaceni.innerText;
      document.querySelector('.cislo-ramu input').value = cisloRamu.innerText;
      document.querySelector('.cislo-motoru input').value = cisloMotoru.innerText;
    })
  });

You may need to wait for the whole document to be ready before attaching the event listener to make sure that the elements actually exist. You can listen for the DOMContentLoaded event to do that.

window.addEventListener('DOMContentLoaded', (event) => {
    console.log('DOM fully loaded and parsed');
    // PLACE THE CODE HERE
});

The technical post webpages of this site follow the CC BY-SA 4.0 protocol. If you need to reprint, please indicate the site URL or the original address.Any question please contact:yoyou2525@163.com.

 
粤ICP备18138465号  © 2020-2024 STACKOOM.COM