シンプルでエレガントな API を使用して jQuery を 100% 採用しようとしていますが、API とストレートな HTML との間に矛盾があり、よくわかりません。
ファイルの入力値が変更されるたびに実行したい AJAX ファイル アップローダー スクリプト (正しく機能する) があります。ここに私の作業コードがあります:
<input type="file" size="45" name="imageFile" id="imageFile" onchange="uploadFile()">
onchange
イベントを jQuery 実装に変換すると、次のようになります。
$('#imageFile').change(function(){ uploadFile(); });
結果は同じではありません。onchange
属性を使用するuploadFile()
と、期待どおりに値が変更されるたびに関数が呼び出されます。しかし、jQuery API.change()
イベント ハンドラーを使用すると、値が最初に変更されたときにのみイベントが発生します。その後の値の変更は無視されます。これは私には間違っているように思えますが、確かにこれは jQuery による見落としではありませんよね?
他の誰かが同じ問題に遭遇したことがありますか? また、私が上で説明した以外の問題に対する回避策または解決策はありますか?