IE一直在丢失错误,但我的$是定义的,甚至是在Document..ready上

  • 本文关键字:定义 ready Document 错误 IE jquery
  • 更新时间 :
  • 英文 :


当我在chrome中运行它时,它可以正常工作,但是在IE中,它抛出了上面列出的错误。我究竟做错了什么?我包括jQuery,甚至定义了$。

这是错误。属性'$'的价值为null或未定义,而不是函数对象

<!-- Remember to include jQuery :) -->
<script type='text/javascript'  src="https://cdnjs.cloudflare.com/ajax/libs/jquery/3.0.0/jquery.min.js"></script>
<!-- jQuery Modal -->
<script type='text/javascript'  src="https://cdnjs.cloudflare.com/ajax/libs/jquery-modal/0.9.1/jquery.modal.min.js"></script>
<link rel="stylesheet" href="https://cdnjs.cloudflare.com/ajax/libs/jquery-modal/0.9.1/jquery.modal.min.css" />

 <script type='text/javascript' >
        $(document).ready(function ($) { // $ here binds the name in this scope
            $("input:radio").change(function () {
                var selectedText = $("input:radio:checked").attr('id');
                if (selectedText === "button_1" && document.getElementById("button_0").checked === false) {
                    $('#ex1').modal('show');
                }
            });
        });
</script>

不要将$传递到函数中,因为JS会寻找函数的参数。即使它将您的jQuery- $变量更改为未定义的预期参数,因此jQuery会停止工作。从功能中删除$。

$(document).ready(function () { // remove $ from () 

您也可以使用速记版本:

$(function() {
    console.log( "ready!" );
});

如果jQuery在文档范围中,但仍未定义$,请尝试使用不同的函数调用。它将宣布jQuery为$ explacilty。

(function($){
})(jQuery); 

我发现了问题。我在代码底部包括了jQuery,当我将其移至最高时,一切都开始工作了。

相关内容

最新更新