髪を引っ張ります。シンプルな jQuery メソッドが Safari 6 で機能しません。
次のコード ブロックは、Safari 6 を除く、私がテストした他のすべてのブラウザーで動作します。Safari 5 以前では問題なく動作し、Firefox でも問題なく動作し、IE でも問題なく動作します。Chromeでも問題なく動作します。
アラートは Safari 6 でポップアップするため、関数は引き続き起動されますが、他の 3 つの方法では何も起こりません。
----- 更新 ----- 複数のマシンでさらにテストした結果、Mac OSX 10.8 の Safari 6 でのみ動作しないことがわかりました。このコードは、OSX 10.7 の同じバージョンの Safari で正常に動作します。--------------------
jQuery 1.8.3 を実行しています。私のページは HTML5 として検証されます。
HTML:
<div id="fileUploadFormContainer">
<form id="fileUploadForm" action="/upload/do_upload/<?=$row->project_id?>" method="post" enctype="multipart/form-data" >
<fieldset>
<label for="userfile">Attach a file</label>
<input type="file" name="userfile" id="userfile" /><br />
<input type="submit" id="fileUploadSubmit" value="Upload file" />
<img class="loadingBar" id="fileUploadLoadingBar" src="/images/indicators/ajax-loader.gif" alt="" />
</fieldset>
</form>
</div><!-- end fileUploadFormContainer -->
CSS:
.loadingBar {
display: none;
}
JavaScript:
$(function(){
// Submit Buttons
$('#fileUploadSubmit').click(function()
{
$('#fileUploadSubmit').attr('value', 'Uploading');
$('#fileUploadSubmit').fadeTo('fast',0.6);
$('#fileUploadLoadingBar').fadeIn('fast');
alert('Finished');
});
});