Tengo un código bastante básico:
if(screen.width > 600) { document.querySelector('.toggle-sidenav').click(); } Tan pronto como la pantalla sea > 600 px, quiero hacer clic en ese div que tiene una clase de toggle-sidenav pero el método .click() en Javascript no funciona.
No quiero usar jQuery.
¿Cómo puedo conseguir esto?
Puedes usar dispatchEvent . El ejemplo se muestra aquí al cambiar el tamaño de la pantalla, la función obtiene el ancho que se pasa a otra función y luego despachaEvent. Aquí la función usa clientWidth para mostrar el trabajo, pero en su código puede usar cualquier otra tecla
const sideNav = document.querySelector('.toggle-sidenav'); sideNav.addEventListener('click', () => { alert('Click Triggered') }) window.addEventListener('resize', (e) => { const width = document.body.clientWidth; triggerClick(width) }) function triggerClick(width) { if (width > 600) { console.log(width) sideNav.dispatchEvent(new Event('click')) } } <div class='toggle-sidenav'> Test </div>