[英]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.