我有一个项目有两个同名文件,data.php和data.js.我试图在list.js中运行data.js中的函数,这是项目中的另一个文件。
下面的代码显示了我尝试过的三种不同的尝试,但没有一种尝试。第一个抛出一个错误,说data.php中的conditionTemplate没有函数。另外两个抛出错误Uncaught TypeError:无法读取未定义的属性'condtionTemplate'。
list.js
if (this.filter == "correct") {
window["condtionTemplate"](true);
window["data"]["condtionTemplate"](true);
window["data.js"]["condtionTemplate"](true);
}
这是我试图进入data.js
的功能data.js
list = new listFiler();
list.prototype.condtionTemplate = function(status) {
if (status) {
main_buttons.enabled("next", false);
} else {
main_buttons.enabled("back", true);
}
}
data.php
<body>
<script src="javascript/list.js?1" type="text/javascript"></script>
<script src="javascript/data.js?1" type="text/javascript"></script>
</body>
答案 0 :(得分:1)
首先将加载顺序更改为
<script src="javascript/data.js?1" type="text/javascript"></script>
<script src="javascript/list.js?1" type="text/javascript"></script>
将原型添加到函数listFiler
。
listFiler.prototype.condtionTemplate = function(status) {
if (status) {
main_buttons.enabled("next", false);
} else {
main_buttons.enabled("back", true);
}
};
使用实例
var list = new listFiler();
使用condtionTemplate。
if (this.filter == "correct") {
list.condtionTemplate(true);
}
答案 1 :(得分:0)
HTML:
<script src="data.js" />
<script src="list.js" />
<script>
condtionTemplate() ...
</script>