目に見えないものの上に div を使用するというこのアイデアをテストしている<input type="file" />
ので、派手なファイルアップロードボタンを作成できます。私はいくつかのコードを見てきましたが、やや複雑でした。jQueryを使用してdivコンテナから入力タグのクリックをトリガーするというこのアイデアを試すことを考えました
HTML:
<div id="container"> Click Me!
<input type="file" id="file" />
</div>
Javascript:
$(document).ready( function() {
$('#container').click( function() {
$('#file')[0].click();
})
});
コードは Chrome と IE では正常に実行されますが、Safari では実行されず、Firefox では面白い問題があります。クリックが 2 回トリガーされます! これがなぜそうなのか、何か考えはありますか?jQuery はクロスプラットフォームであるはずですが、私は困惑しています。ここにフィドルがあります
http://jsfiddle.net/kostasd/C4sCs/1/
助けてくれてありがとう!
コスタス