簡體   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