Jea*_*ean 5 javascript javascript-events
我正在编写一个带有移动球的 javascript 游戏。当用户设法点击移动的球时,我想要一条警报消息。它现在正在工作,但事件并不是每次都触发......看起来球移动得太快了,js引擎无法注意到球确实被点击了。我正在 Firefox 18、Windows 7 上测试 5 岁的 CPU ......
这是我的一些代码:
myBall = document.getElementById("myBall");
function move(){
myLeft += 20;
myBall.style.left = myLeft + "px";
}
myTimer = window.setInterval(move, 10);
...
myBall.addEventListener("click", function(){alert("win")});
Run Code Online (Sandbox Code Playgroud)
有没有办法在一个小的移动目标上设置一个点击事件侦听器,它的行为会更准确?jQuery 在这里会有什么不同吗?谢谢。
好吧,要解决您遇到的问题,您需要添加事件侦听器mousedown而不是click.
这是因为click需要鼠标按钮向下和向上移动,并且 \xe2\x80\x93 正如 @techfoobar 指出的 \xe2\x80\x93 它必须在目标元素上的同一位置完成(如果 和 的坐标不mousedown相等mouseup) , 这click事件不会被触发)。球移动得太快而无法满足上述条件,因此出现了问题。