jQueryファイルアップロードプラグインを使用しています。別のボタンをクリックすると、ファイル入力を非表示にしてアクティブにします。(このフィドルを参照してください。)
HTML:
<div>
<button class="browse">Browse</button>
<input id="upload" type="file" style="display: none;" />
</div>
JavaScript:
var element = $("#upload");
$(".browse").click(function () {
$("#upload").trigger("click");
});
element.fileupload({
add: function () {
alert("add");
}
});
ボタンを押してファイルを選択すると、add
メソッドがアクティブになり、アラートが表示されることに注意してください。もう一度やり直すと、別のアラートが表示されます。
さて、このフィドルを見てください。唯一の違いは、次の行を変更したことです
$("#upload").trigger("click");
に
element.trigger("click");
ここで、最初にボタンをクリックしてファイルを選択すると、add
メソッドがアクティブ化され、アラートが表示されます(以前と同様)が、もう一度実行しても、add
メソッドはアクティブ化されないことに注意してください。
この動作の違いの原因は何ですか?