Tengo una etiqueta de entrada como esta:
<input type="file" id="excel_file" accept=".csv, application/vnd.openxmlformats-officedocument.spreadsheetml.sheet, application/vnd.ms-excel" style="color:transparent; "/>y la salida:
Lo que trato de hacer es verificar si se hace clic en el botón Choose File o no. No pude verificar con el mismo método que un botón normal porque este choose file no es un botón. ¿Alguien sabe cómo puedo detectar si el usuario está haciendo clic en él o no?
Si solo desea escuchar el evento de clic, simplemente use lo siguiente:
const inputElement = document.getElementById('excel_file'); inputElement.addEventListener('click', () => { console.log('I was clicked'); }, false);Sin embargo, si desea escuchar el evento de una selección de archivos, debe usar 'cambiar' en lugar de 'hacer clic'. El evento 'cambiar' solo se activará cuando se seleccione un archivo, evitando activar su función si un usuario hace clic en el botón y luego sale haciendo clic en cancelar.
Para más información: Uso de archivos de aplicaciones web