以下代码是我在文档就绪时调用的函数的一部分。它旨在永久返回鼠标移动时当前鼠标位置的值。
发生了奇怪的事情:将鼠标移到文档就绪状态不会将任何内容记录到控制台。我知道mouse_monitor-function工作正常,因为我在另一个“mousedown”-eventlistener中使用了这个函数,然后它将当前鼠标位置记录到控制台。
//Mouse Monitor
canvas.addEventListener('mousemove', mouse_monitor, false);
//Mouse Monitor Request
var mouse = new Array();
var mouse_monitor = function(e) {
var canvasOffset=$("#canvas").offset();
var offsetX=canvasOffset.left;
var offsetY=canvasOffset.top;
mouse.x = e.pageX - offsetX;
mouse.y = e.pageY - offsetY;
return mouse;
console.log(mouse);
}
答案 0 :(得分:2)
return mouse;
该行之后的任何陈述都不会被执行。
好的,然后开始工作并添加它/逐步修改它:
var mouse_monitor = function(e) {
var x = e.pageX;
var y = e.pageY;
console.log(x, y);
}
window.onload = function() {
this.addEventListener('mousemove', mouse_monitor);
}
但是你提到“文档就绪”,所以如果你使用jquery,你应该避免使用addEventListener(),因为它不是跨浏览器:
var mouse_monitor = function(e) {
var x = e.pageX;
var y = e.pageY;
console.log(x, y);
}
$(document).ready( function() {
$(this).on('mousemove', mouse_monitor);
});
另一种方法是console.log()所有变量及其值导致失败的代码,以确定哪些值不是应该的。