gpt4 book ai didi

javascript - 单击事件不会在移动目标上触发

转载 作者:塔克拉玛干 更新时间:2023-11-02 21:03:46 24 4
gpt4 key购买 nike

我正在编写一个带有移动球的 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")});

有没有办法在一个小的移动目标上设置一个点击事件监听器,这样会更准确? jQuery 在这里会有什么不同吗?谢谢。

最佳答案

好的,要解决您遇到的问题,您需要为 mousedown 而不是 click 添加事件监听器。

这是因为 click 需要鼠标按钮同时向下和向上移动,而且——正如@techfoobar 指出的——它必须在目标元素的同一位置完成(如果 的坐标mousedownmouseup 不相等,click 事件不会被触发)。球移动得太快无法满足上述条件,因此出现了问题。

关于javascript - 单击事件不会在移动目标上触发,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/14795954/

24 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com