为什么没有被捕获的错误:$未定义anonyomus函数显示

时间:2012-10-18 22:33:45

标签: javascript jquery css css3

我查看了有关未捕获错误的所有类似帖子:$未定义且没有任何帮助。我有最新的jquery库,只是不明白为什么会出现这个错误。

$(function() {

    // Checking for CSS 3D transformation support
    $.support.css3d = supportsCSS3D();

    var formContainer = $('#formContainer');

    $('.flipLink').click(function(e){

        // Flipping the forms
        formContainer.toggleClass('flipped');

        if(!$.support.css3d){
            $('#login').toggle();
        }
        e.preventDefault();
    });

    formContainer.find('form').submit(function(e){

        e.preventDefault();
    });

    function supportsCSS3D() {
        var props = [
            'perspectiveProperty', 'WebkitPerspective', 'MozPerspective'
        ], testDom = document.createElement('a');

        for(var i=0; i<props.length; i++){
            if(props[i] in testDom.style){
                return true;
            }
        }

        return false;
    }
});

我在这里调用脚本为scripts.js

<head>
        <script type="text/javascript" src="js/scripts.js"></script>
        <script type="text/javascript" src="js/jquery.js"></script>
        <script type="text/javascript" src="js/jquery-ui.js"></script>
        <link rel = "stylesheet" href= "css/styles.css">


    </head>

我非常感谢获得知识,以了解为什么会出现这种情况以及任何提示。

3 个答案:

答案 0 :(得分:3)

之后包含脚本,而不是之前。

    <script type="text/javascript" src="js/jquery.js"></script>
    <script type="text/javascript" src="js/jquery-ui.js"></script>
    <script type="text/javascript" src="js/scripts.js"></script>

浏览器会在加载后立即评估<script>标记内容。如果你把它放在第一位,浏览器会在解析后续脚本之前尝试运行它。因此,您的脚本的依赖性将不会得到满足,您将收到类似的错误。

答案 1 :(得分:3)

您应该在jquery脚本之后加载scripts.js:

<head>
    <script type="text/javascript" src="js/jquery.js"></script>
    <script type="text/javascript" src="js/jquery-ui.js"></script>
    <script type="text/javascript" src="js/scripts.js"></script>
    <link rel = "stylesheet" href= "css/styles.css">
</head>

答案 2 :(得分:0)

尝试在脚本上方移动jquery的脚本标记,以便定义$。