15

カスタムファイル入力があります:

<div id="wrapper">
    <span id="fake-text-input"></span>
    <button id="select-a-file"></button>
    <input id="hidden-file-input" type="file" />
</div>

input[type="file"]非表示 ( ) であり、ファイルの選択は、およびイベントdisplay: noneをリッスン/トリガーすることによって処理されます。clickchange

ファイルドロップもサポートしたいです。dropファイルがドロップされたときにイベントを聞くことができましたが、イベントを#fake-text-inputに転送する方法がわかりません..それは可能ですか?dropinput[type="file"]

ファイル入力の不透明度のトリックには興味がありません:)

$('body').on('drop', '#wrapper', function(e) {
    var file = e.originalEvent.dataTransfer.files[0];

    // I have the file.. now what?
});
4

2 に答える 2

22

これは google chrome で私と一緒に働いていましたが、現在他のブラウザで問題になっています

$("input[type='file']").prop("files", e.originalEvent.dataTransfer.files);
于 2013-03-28T03:55:36.437 に答える