我目前正在制作一款游戏,要求玩家在触摸屏设备上的某个物体周围拖动。
我使用了事件监听器mousemove
,并且已经在我的Intel XDK模拟器上运行了,但是现在我将其移动到触摸屏设备上,我需要一个mousemove
和mousedown
的触摸事件,并且我不确定该怎么做。
理想代码示例:
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/