我有一个像这样的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文件
任何想法?
答案 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>