jQuery 方法在 Safari 6 中不起作用

标签 jquery safari safari6

把我的头发扯下来。简单的 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');
    });
});

最佳答案

我可能是错的,但我认为你的问题是表单在你的 javascript 运行之前提交。您可能需要使用 PreventDefault 来防止这种情况发生。您还可以将按钮从提交按钮更改为 type="button",这也会有所帮助。哎呀...快速编辑...我还将您的警报放入回调中,以便它在 fadeIN 发生后运行...您可以保留它或更改它。

$(function(){
    // Submit Buttons
    $('#fileUploadSubmit').click(function(e)
    {
        e.preventDefault();
        $('#fileUploadSubmit').attr('value', 'Uploading');
        $('#fileUploadSubmit').fadeTo('fast',0.6);
        $('#fileUploadLoadingBar').fadeIn('fast', function() {
            alert('Finished');
        });

    });
});

关于jQuery 方法在 Safari 6 中不起作用,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/13919199/

相关文章:

html - 响应图像在 Safari 中不会达到 100% 宽度(在 Chrome 中很好)

safari - Safari 6 或 Bootstrap 模式对话框出现渲染问题?

Jquery PathName 正则表达式更改背景

javascript - 没有类型的cshtml脚本标签

javascript - iOS 9 上的 Safari 不会触发隐藏输入文件的点击事件

html - 为什么 google 字体在 safari 上的加载方式与 chrome 不同,我该如何解决?

javascript - "XMLHttpRequest.timeout cannot be set for synchronous http(s) requests made from the window context"是什么意思?

javascript - Safari 6 中的 javascript 调试器是否能够对 javascript 进行反压缩?

javascript - 如何在 jquery 自动完成中添加新项目选项?

javascript - Bootstrap Accordion 被迫显示打开的 Accordion