Javascript 点击事件未对移动目标开火

Javascript 点击事件未对移动目标开火,javascript,javascript-events,Javascript,Javascript Events,我正在编写一个javascript游戏,里面有一个移动的球。 当用户试图点击移动的球时,我想要一条警告消息。 它现在正在工作,但事件并不是每次都发生。。。看起来球移动得太快了,js引擎无法注意到球确实被点击了。 我正在Firefox18和Windows7上测试一个5年的cpu 以下是我的一些代码: myBall = document.getElementById("myBall"); function move(){ myLeft += 20; myBall.style.left

我正在编写一个javascript游戏,里面有一个移动的球。 当用户试图点击移动的球时,我想要一条警告消息。 它现在正在工作,但事件并不是每次都发生。。。看起来球移动得太快了,js引擎无法注意到球确实被点击了。 我正在Firefox18和Windows7上测试一个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")});
有没有办法在一个小的移动目标上设置一个点击事件监听器,使其行为更加准确?jQuery在这里会有什么不同吗?
谢谢。

好的,要解决您遇到的问题,您需要为
鼠标向下
添加事件侦听器,而不是
单击


这是因为,
click
要求鼠标按钮同时上下移动,并且正如@techfoobar所指出的那样,必须在目标元素上的同一位置进行操作(如果
mousedown
mouseup
的坐标不相等,则不会触发
click
事件)。球的移动速度太快,无法满足上述条件,因此出现了问题。

请注意,使用“请求动画帧”而不是“设置间隔”设置动画。可能球的移动速度太快,鼠标按钮无法上下移动?您是否尝试过为“mousedown”添加事件监听器?html5 canvas+kinetic.js有很多很酷的选项-->我在wwww.threeblokesfromchina.com上有一个示例球注意:如果
mousedown
事件的鼠标坐标与
mouseup
事件的鼠标坐标不同,则不会触发
单击事件。i、 e.如果对象在
mousedown
mouseup
事件之间移动,
单击
事件将不会触发。你可能应该考虑使用<代码>鼠标缩写< /Cord>?@卢卡斯,你应该先得到正确的指针。你应该把它作为答案贴出来。