Testuję ten pomysł użycia div na wierzchu niewidocznego <input type="file" />
, dzięki czemu mogę wykonać fantazyjny przycisk przesyłania plików. Widziałem trochę kodu, ale było nieco skomplikowane. Myślałem próbować ten pomysł wykorzystania jQuery aby wywołać kliknięcie tagu wejściowego z pojemnika divWywołanie kliknięcia z jquery na ukrytym znaczniku pliku wejściowego
HTML:
<div id="container"> Click Me!
<input type="file" id="file" />
</div>
javascript:
$(document).ready(function() {
$('#container').click(function() {
$('#file')[0].click();
})
});
Chociaż kod działa OK na Chrome i IE, nie działa na Safari i ma zabawny problem z Firefoksem: dwa razy uruchamia kliknięcie! Jakiś pomysł, dlaczego tak się dzieje? jQuery ma być wieloplatformowy i jestem zaintrygowany. Oto Fiddle
http://jsfiddle.net/kostasd/C4sCs/1/
Z góry dziękuję za wszelką pomoc!
Kostas
Pracę całego tego nie jest ukrycie elementów, lecz daje to w 'display: block; pozycji: absolutnych, górny: 0; lewej: -9999px;', owinąć to z kontenerem, który ma 'position: relative, overflow: hidden, width: somepx;'. ** NIE UŻYWAJ wyświetlacza: brak **. Następnie uruchom kliknięcie; bam, obsługa wielu przeglądarek. – Ohgodwhy
Dziękujemy za napiwek. Dam temu szansę. – user2339672
W aktualnej wersji Firefoksa będzie również działać z 'display: hidden' – CoderPi