[英]Why am I getting a reference error and syntax error on my site?
我正在尝试设置一些样板代码,但出现两个错误。 第一个是在一个意外标记语法错误utils.js
文件和基准误差上scripts.js
的文件。 谁能解释在正确的地方并引用所有内容后为什么会返回这些错误?
的HTML
<!doctype html>
<html>
<head>
<link rel="stylesheet" href="styles.css">
<script src="utils.js"></script>
<script src="script.js"></script>
</head>
<body>
<canvas id="main" width="450" height="400"></canvas>
</body>
</html>
utils.js
var Utils = {
utils.captureMouse = function(element){
var mouse = {x: 0, y: 0};
element.addEventListener("mousemove", function(event){
var x, y;
if(event.pageX || event.pageY){
x = event.pageX;
y = event.pageY;
}
else{
x = event.ClientX + document.body.scrollLeft + document.documentElement.scrollLeft;
y = event.ClientY + document.body.scrollTop + document.documentElement.scrollTop;
}
x -= element.offsetLeft;
y -= element.offsetTop;
mouse.x = x;
mouse.y = y;
});
return mouse;
}
};
script.js
window.addEventListener("load", function(){
var canvas = document.getElementById("main");
var ctx = canvas.getContext("2d");
mouse = Utils.captureMouse(canvas);
canvas.addEventListener("mousedown", function(){
console.log("X: " +mouse.x);
console.log("Y: " +mouse.y);
})
})
这是错误
Uncaught SyntaxError: Unexpected token. utils.js:2
Uncaught ReferenceError: utils is not defined script.js:4
(anonymous function) @ script.js:4
这是无效的语法:
var Utils = {
utils.captureMouse = function(){/.../}
};
在第二行中,未定义utils
。 那应该是设置一个属性,而不是执行赋值操作。 也许你是这个意思?:
var Utils = {
captureMouse: function(){/.../}
};
第二个错误只是第一个错误的结果,因为从未有效定义Utils
。 纠正该问题应同时纠正两者。
尝试将eventListener
附加到document.body上,而不要附加到窗口和/或在主体末尾附加utils.js。 我认为问题是尚未创建<canvas></canvas>
元素
声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.