使用jQuery 1.7.2在Firefox中未定义$

时间:2012-09-03 20:18:08

标签: jquery firefox

我只在Firefox中出现此错误,一切都在IE和Chrome中运行良好,我使用的是Firefox v 15.0。这是我的代码

<script type="text/javascript" src="/_layouts/Scripts/jquery-1.7.2.min.js"></script>
<script type="text/javascript">
    $(function () {
       // some code here
    });

第一行发生异常(文档就绪),似乎页面根本无法引用jQuery库,但如果我从错误控制台点击源链接,我可以在浏览器中看到jQuery库的代码。这很奇怪,因为我在IE或Chrome中没有错误。

为什么会发生这种情况?

修改 这是整个js代码

$(function () {

        var digitCode;

        $('input[type=submit][id*=btnCancel]').on('click', function (e) {
            e.preventDefault();
            closeModalDialog('Cancel');
        });

        $("select[id*=ddlContacts]").on('change', function () {
            var contactID = $(this).val();
            if (parseInt(contactID) == 0) {
                $('span[id*=lblCEOTitle]').text("");
                return;
            }

            var data = { contactId: contactID };

            $.ajax({
                type: "POST",
                contentType: "application/json; charset=utf-8",
                url: "AddCompany.aspx/CeoTitle",
                data: JSON.stringify(data),
                dataType: "json",
                success: function (result) {
                    $('span[id*=lblCEOTitle]').text(result.d);
                    $('input[type=hidden][id*=hdnFieldCeoTitle]').val(result.d);
                },
                error: function () {
                    alert('error');
                }
            });
        });
    });

2 个答案:

答案 0 :(得分:2)

除非您离线工作,否则您应该让CDN为您的用户托管这些文件。这样做比在服务器上托管jQuery有几个优点:减少延迟,增加并行性和更好的缓存。有关详细信息,请查看此文章:http://encosia.com/3-reasons-why-you-should-let-google-host-jquery-for-you/

这也节省了一些麻烦(路径文件管理,损坏的文件,坏的版本等),你现在遇到的其中一个。

答案 1 :(得分:1)

你能提供一些关于网页的内容(例如:是ASP.NET吗?) 脚本引用是否已正确解析? (如果加载了脚本,您可以使用firebug进行检查) 您是否正在使用任何其他可能与jquery混淆的javascript框架,确保$未定义?