javascript问题

时间:2009-12-04 04:49:50

标签: javascript jquery oop

我有一个像这样的HTML页面

<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个javascript文件

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

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

}

=====第一个结束==========文件

/// <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 个答案:

答案 0 :(得分:2)

关于范围,JavaScript具有函数范围,因此您在$(document).ready回调函数中执行的所有变量和函数声明只能在该范围内访问。

例如:

$(document).ready(function() {

  function Referral() {
    // ...
  }

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

您可以在全局范围内声明Referral constructor function,因为您打算在多个文件中使用它。

如果您不喜欢全局变量,则可以实现命名空间技术:

有关范围的更多信息:

答案 1 :(得分:0)

您需要确保在html页面上包含jQuery源代码。 “引用”注释看起来像是由编辑器插入的内容,因此它可以确定您正在使用哪些文件,但这些注释告诉浏览器在哪里获取jQuery源。

将其作为文档中的第一个<script>标记:

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