我目前正在制作一款游戏,要求玩家在触摸屏设备上的某个物体周围拖动。

我使用了事件监听器mousemove,并且已经在我的Intel XDK模拟器上运行了,但是现在我将其移动到触摸屏设备上,我需要一个mousemovemousedown的触摸事件,并且我不确定该怎么做。

理想代码示例:

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


因此,当鼠标向下移动时,此理想代码会吐出x和y。

如果有人知道合法的语法或执行此操作的其他方法,那将是很大的帮助。

我不想将JQuery合并到其中,而只是纯JS。

谢谢! :)

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

最佳答案

每个MDN:


  EventTarget.addEventListener()方法在调用它的EventTarget上注册指定的侦听器。事件目标可以是文档中的Element,文档本身,Window或任何其他支持事件的对象(例如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/

10-13 04:29