繁体   English   中英

IE8中未定义类

[英]Class is undefined in IE8

我愚蠢地决定在我的最新项目中支持IE8,这无疑会成为我生命中最愚蠢的想法。

所以我遇到的最基本的问题是我的主类变量是未定义的。 我的意思是我在一个文件general.js中设置了一个原型,看起来有点像这样:

var generalClass;

// jQuery Object
var $ = jQuery; 

$(document).ready(function() {

    // A general class for a general file.
    generalClass = function() {

    }

    generalClass.prototype = {

    }


    new generalClass();     


});

所以generalClass变量用我的原型/等填充。 然后我把它包含在我的文档的头部,稍后我调用了generalClass中的一个函数来做其他事情,有点像这样:

<script type="text/javascript" src="general.js"></script>
<script type="text/javascript">
$(document).ready(function() {
    $.ajax({
        type: 'POST', 
        url: ..., 
        data: {

        }, 
        success : function(data) {
            // CALL MY FUNCTION:    
            generalClass.prototype.myFunction();

        }


    }
});
</script>

在每个浏览器中,从IE9到Chrome都可以。 在IE8中,这不起作用,并且generalClass未定义。 为什么这样对我?

我不确定你在哪里学习这种模式,但它应该更像这样:

var generalClass;

// jQuery Object
//var $ = jQuery;  <-- makes no sense $ should be jQuery already

$(document).ready(function() {

    function GeneralClass() {}
    GeneralClass.prototype = {
        myFunction: function () {
            alert("x");
        }
    };

    generalClass = new GeneralClass();

});

当你打电话给它

generalClass.myFunction();

暂无
暂无

声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.

 
粤ICP备18138465号  © 2020-2024 STACKOOM.COM