addEventListener mousemove on 文档准备好

标签 addeventlistener mousemove document-ready

我想是新手问题。

以下代码是我在文档就绪时调用的函数的一部分。它旨在在鼠标移动时永久返回当前鼠标位置的值。

正在发生的奇怪事情:在文档就绪时移动鼠标不会将任何内容记录到控制台。我知道 mouse_monitor 函数可以工作,因为我在另一个“mousedown”事件监听器中使用了这个函数,然后它将当前鼠标位置记录到控制台。

//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);
    }

最佳答案

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() 导致失败代码的所有变量及其值,以确定哪些值不应该是。

关于addEventListener mousemove on 文档准备好,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/16999189/

相关文章:

Blazor 服务器应用程序 $(document).ready() 等价物

javascript - 存储事件监听器在隐身或私有(private)窗口中无法正常工作

javascript - addEventListener ("load")在 Chrome 中无法正常工作?

javascript - 如果您选择相同的选项,则无法添加事件监听器来选择选项

javascript - .addEventListener 中的计时器不起作用?

jquery - 在 jQuery Mobile 中执行 $(document).ready 的正确方法是什么?

c++ - 使用按下按钮输入时,QWidget 不会触发 QEvent::MouseMove

javascript - 也从iframe接收mousemove事件

c++ - Opengl 鼠标相机问题 (gluLookAt)

javascript - Angular 和 jQuery ng-include with document.ready 不工作