gpt4 book ai didi

javascript - JQuery UI slider 的“更改”事件问题

转载 作者:行者123 更新时间:2023-11-28 02:16:09 24 4
gpt4 key购买 nike

我有一个使用 JQuery UI 构建的 slider 功能。它的行为应该是这样的:

slider 被激活/停用 20 次。每转一个 5 秒的周期,在此期间,前 2 秒 slider 保持禁用状态,并且 slider handle 隐藏。之后,用户可以使用鼠标单击 slider 上的任意位置来放置 handle 并选择一个值。单击后,用户还可以使用左/右箭头键来调整 handle 。 5 秒结束时,会发生三件事: 1. slider 被禁用; 2. handle 复位至最小值; 3. handle 隐藏式。然后在下一回合重新开始之前有 1 秒的超时时间。

一个工作示例在这里:http://jsfiddle.net/e2rym/

我注意到两个问题,它们都在相同的条件下发生:用户在 5 秒时间段结束时同时使用鼠标和键盘来调整幻灯片上的 handle 位置。人们可以通过在每一回合结束时连续快速点击幻灯片并同时按左键和/或右键来模拟这一点。

如果您这样做,将会发生以下两件事之一(不是每次都会发生,但在几次尝试后绝对可以重现):

  1. handle 将卡在您上次单击的位置,而不是重置为最小并隐藏。看起来,如果您连续且足够快地单击或移动按键,那么在重置操作(即 slider 禁用、 handle 移动和隐藏)发生后将触发 change 事件。

  2. 更糟糕的是,有时 slider 将被禁用并且 handle 将被隐藏,但在接下来的 5 秒时间内,不会触发任何 change 事件无论您在幻灯片上做什么,即单击鼠标或按左/右键都不会定位 handle 。因此, slider 在所有后续周期中变得完全无法使用。我觉得这与重置操作发生时同时触发两个 change 事件(一个通过单击鼠标,另一个通过按左/右键)的可能性有关。

如果您知道这些问题发生的原因以及如何解决这些问题,我们将不胜感激。

附注我尝试了多个版本的 JQuery UI 和 JQuery,但问题仍然存在。

最佳答案

不幸的是,我无法解释这个问题,但我确实设法通过将您的 change 事件更改为 start 事件(我认为这不会如果您专门将 change 事件用于其他用途,则可以工作)。

关于javascript - JQuery UI slider 的“更改”事件问题,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/16365878/

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