ファイルのアップロード入力フィールドが更新されたときを検出しようとしています。 IE & FF私はblur()を使用するとこれを行うことができますが、Chromeの場合はchange()を使用する必要があります。 Chrome(と私はsafari)はblurイベントを引き起こさないので、jquery.supportsオブジェクトにこれをチェックするプロパティがあるか、または廃止予定の.browserオブジェクトを使用する必要がありますか?jqueryのChrome/Safariのぼかし機能のサポート
以下のポスターは3つのブラウザすべてで変更されたイベントが動作していることを示していますが、私が使用するはずのものですが、サポートを検出するための質問に答えてもらえますブラーイベントのために。
<html>
<head>
<script src="jquery-1.4.3.min.js" type="text/javascript"></script>
<script type="text/javascript">
$(document).ready(function() {
$('#test-input').change(function() { alert('changed'); });
$('#test-input').blur(function() { alert('blurred'); });
});
</script>
</head>
<body>
<input type="file" id="test-input">
</body>
</html>
これらのブラウザでは、イベントが正しくトリガーされます...問題を示す例がありますか? '.change()'は、あなたが何をしているのかすべてのブラウザで動作するはずです。 –
あなたが正しいです、単純なデモを作成しようとすると、3つのブラウザすべてで変更イベントが発生しました。私は私のコードに問題があるかもしれないと思う。しかし、FF&IEはクロムをクリックしたときにぼかしイベントをトリガーしましたが、そうは言っていませんでした。とにかくコードを投稿して、a)コードに問題があるか、b)機能/バグのサポート/非サポートを検出する方法があるかどうかを確認します。 – Mike
'change()'はすべてのブラウザで動作しました。ユーザーが同じファイルを再度選択したときに 'change()'が再び起動されないことを心配した場合、 '$( 'form')[0] .reset()' – timdream