Empresas
Empregos
  • Sobre nós
  • Soluções
    • Publicação de vagas
      Publique sua vaga e receba candidatos qualificados em 48h.
    • Avaliações de candidatos
      Mais de 500 testes técnicos e psicológicos, mais anti-fraude.
    • Headhunting
      Busca executiva personalizada do início ao fim.
    • Folha de Pagamento + EOR
      Dispersão de folha e EOR em mais de 15 países da LATAM.
  • Preços
  • Empregos

0

559
Visualizações
Simular un clic de entrada de archivo con .click() no funciona en iOS - Cordova

Estoy usando React para crear una aplicación web empaquetada con Cordova para que sea una aplicación nativa en Android/iOS. Tengo problemas específicamente con iOS, específicamente con la simulación de un clic en una entrada de archivo con .click()

Estoy usando esta biblioteca: https://github.com/odysseyscience/react-s3-uploader

Aquí está mi código, muy simple:

<button onClick={(e) => { e.preventDefault() $('#fileinput').click() }} className='btn btn--no-bg btn--w-icon uploader'>

El elemento con id fileinput es una versión renderizada del cargador de reacción, pero en HTML simple se ve así:

<input type="file" id="fileinput" class="hidden react-s3" accept="image/*">

He realizado un montón de pruebas y el problema está ocurriendo en el evento jquery .click() . El primer onClick definitivamente se activa, pero no sucede nada (en iOS) cuando se llama a $('#fileinput').click() .

Esta parte del código funciona tanto en un navegador web como en mi simulador de Android, pero una vez más, no en mi simulador de iOS.

Cuando entro en la consola para los tres entornos (escritorio, iOS, Android) y ejecuto el código $('#fileinput').click() en la consola, se hace clic en la entrada y se activa la selección de fotos para Android y escritorio, pero no hace nada en iOS.

Investigué mucho, algunas soluciones que encontré que no funcionan son: agregar pointer: cursor al botón o a la entrada, cambiar el button a a etiqueta, cambiar display:none a visibility: hidden en la entrada oculta, y probando todas las versiones diferentes de .click() que pude encontrar (vanillaJS, .trigger , .touchstart , .touchend , .live , etc.)

over 4 years ago · Santiago Trujillo
2 Respostas
Responde à pergunta

0

Tuve el mismo problema y esto funcionó:

 $('#fileinput').trigger("click");

y no oculte la entrada del archivo, pero css fuera de la pantalla como:

 #fileinput { position:absolute; top:-9999px; }

No creo que puedas activar clics en un elemento oculto en iOS

over 4 years ago · Santiago Trujillo Relatório

0

Yo suelo:

 document.getElementById("fileinput").discpatchEvent(new Event("click"))
over 4 years ago · Santiago Trujillo Relatório
Responde à pergunta
Encontrar trabalhos remotos

Descubra a nova forma de encontrar um emprego!

melhores empregos
Principais categorias de trabalho
Empresas
Postar vaga Preços Comercial
Jurídico
Termos e Condições Política de privacidade
© 2026 PeakU Inc. All Rights Reserved.
Andres GPT
Recomende algumas ofertas para mim
Preciso de ajuda