Sto testando l'idea di utilizzare un div su un invisibile <input type="file" />
così posso creare un pulsante di caricamento file di fantasia. Ho visto qualche codice in giro ma è stato un po 'complicato. Ho pensato di provare questa idea di usare jQuery per innescare lo scatto del tag input dal suo contenitore divAttivazione del clic con jquery sul tag di input-file nascosto
Html:
<div id="container"> Click Me!
<input type="file" id="file" />
</div>
Javascript:
$(document).ready(function() {
$('#container').click(function() {
$('#file')[0].click();
})
});
Anche se il codice viene eseguito OK su Chrome e IE, non funziona su Safari e ha un problema divertente con Firefox: fa scattare il clic due volte! Qualche idea sul perché sia così? jQuery dovrebbe essere multipiattaforma e io sono perplesso. Ecco il violino
http://jsfiddle.net/kostasd/C4sCs/1/
Grazie in anticipo per qualsiasi aiuto!
Kostas
Il lavoro in giro per questo non è quello di nascondere l'elemento, ma invece dare un 'display: block; position: absolute; top: 0; a sinistra: -9999px,', poi avvolgere con un contenitore che ha 'position: relativo; overflow: hidden; width: somepx;'. ** NON USARE display: nessuno **. Quindi attiva il tuo clic; bam, supporto cross-browser. – Ohgodwhy
Grazie per il suggerimento. Lo proverò. – user2339672
Nella versione corrente di Firefox funzionerà anche con 'display: hidden' – CoderPi