javascript - 鼠标按下时的 X 和 y 坐标

标签 javascript canvas mousemove mousedown

我目前正在制作一款游戏,要求玩家在触摸屏设备上拖动对象。

我使用了事件监听器 mousemove,它在我的 Intel XDK 模拟器上工作,但现在我将它移到触摸屏设备上,我需要一个触摸事件 mousemovemousedown,我不知道该怎么做。

理想代码示例:

canvas.addEventListener("mousemove" && "mousedown", function(e){  
    pointerX = e.pageX;
    pointerY = e.pageY;
}

所以这个理想的代码在鼠标按下时吐出 x 和 y,它已经移动了。

如果有人知道合法的语法或不同的方法,那将是一个很大的帮助。

我不想将 JQuery 合并到这里,只是纯 JS。

谢谢! :)

编辑:让我改写一下,这样一切就直截了当了。当用户拖动一个对象时,我需要一个函数来吐出整个拖动过程中指针的 x 和 y。

最佳答案

根据 MDN:

The EventTarget.addEventListener() method registers the specified listener on the EventTarget it's called on. The event target may be an Element in a document, the Document itself, a Window, or any other object that supports events (such as XMLHttpRequest).

注意上面的“eventTarget”。 AddEventListener 方法仅采用一个表示 EventType 的字符串。您需要编写自定义函数以迭代多个事件:

const target = document.getElementById("myDiv");

['mousedown', 'mousemove'].forEach(eventType => {
  target.addEventListener(eventType, (event) => {
    target.innerText = `x: ${event.pageX} y: ${event.pageY}`;
  });
});
#myDiv {
  width: 100px;
  height: 100px;
  background-color: orange;
  color: white;
}
<div id="myDiv"></div>

关于javascript - 鼠标按下时的 X 和 y 坐标,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/43034511/

相关文章:

javascript - jQuery UI 按钮集禁用构造函数选项不起作用

javascript - 将类添加到 Canvas 元素 HTML5 和 CreateJS

canvas - KineticJS - 连续应用多个变换

javascript - chrome 中的 onmouseover(下拉 - 选项标签)事件不起作用 - php,javascript

javascript - Google 表格脚本数字小数位格式

JavaScript - 按键减少对象数组

javascript - 如何在我的网页上设置倒计时器

javascript - 如何提交 html5 Canvas 作为表单发布的一部分?

javascript - 将鼠标事件绑定(bind)和取消绑定(bind)到自定义元素的问题

javascript - 我想检测鼠标移动事件期间鼠标右键还是左键按下