2009-12-04 51 views
0

我有這樣JavaScript的面向對象的問題

<html xmlns="http://www.w3.org/1999/xhtml"> 
<head> 
    <script src="JScript2.js" type="text/javascript"></script> 
    <script src="JScript.js" type="text/javascript"></script> 
    <title></title> 
</head> 
<body > 
    <div ><input type=text id="uxTextBox" /></div> 
</body> 
</html> 

和2這樣

/// <reference path="JScript.js"/> 
/// <reference path="jquery-1.3.2-vsdoc.js"/> 
/// <reference path="jquery-1.3.2.js" /> 

$(document).ready(function() { 
    referral.PopulateTextBox(); 

} 

第一的=====端的JavaScript文件的HTML頁面========= =文件

/// <reference path="jquery-1.3.2-vsdoc.js"/> 
/// <reference path="jquery-1.3.2.js" /> 


var referral = new Referral(); 
$(document).ready(function() { 
function Referral() { 
    this.PopulateTextBox = function() { 
    $("#uxTextBox").text("some text"); 


    } 
} 

} 

的問題是,無論是2個jQuery的文件似乎執行。我試圖填充從另一個js文件的調用對象,然後將值返回到HTML文件

任何想法?

回答

2

這是關於範圍,JavaScript有功能範圍,因此,所有你的$(document).ready回調函數裏面做的變量和函數聲明,如下:

文檔中把這個作爲第一個<script>標籤只能在該範圍內訪問。

例如:

$(document).ready(function() { 

    function Referral() { 
    // ... 
    } 

    // Referral is accessible here 
}); 
// But not here 

你可以宣佈你的Referralconstructor function在全球範圍內,如您打算從多個文件中使用它。

如果你不喜歡你全局可實現命名空間技術:

有關範圍的更多信息:

0

您需要確保在您的html頁面中包含jQuery源代碼。 「參考」評論看起來像是你的編輯器插入的東西,所以它可以找出你正在使用的文件,但這些評論做而不是告訴瀏覽器在哪裏得到jQuery源代碼。

<script src="/path/to/jquery.js"></script>