Jquery 正在滚动哪个元素?

Jquery 正在滚动哪个元素?,jquery,html-select,jquery-events,Jquery,Html Select,Jquery Events,我正在制作自定义的选择框,我需要一种方法来编程检测几个框中的哪个正在滚动 当大小>1时,我尝试模拟功能。也就是说,如果您点击[up:38]或[down:40]在列表中选择适当的项目 和我一起工作的小提琴 既然事件已附加到主体,我如何知道正在滚动哪些“.wrap”元素(希望在滚动之前,这样我就可以在需要时停止事件) 编辑:我更新了Jfiddle,如果你看的话,我只是有一个占位符,其中的“wrap”正在滚动,一旦我可以确定收到了哪个“wrap”,那么它将按照我的预期工作。你可以简单地使用事件来确定哪

我正在制作自定义的选择框,我需要一种方法来编程检测几个框中的哪个正在滚动

当大小>1时,我尝试模拟
功能。也就是说,如果您点击[up:38]或[down:40]在列表中选择适当的项目

和我一起工作的小提琴

既然事件已附加到主体,我如何知道正在滚动哪些“.wrap”元素(希望在滚动之前,这样我就可以在需要时停止事件)

编辑:我更新了Jfiddle,如果你看的话,我只是有一个占位符,其中的“wrap”正在滚动,一旦我可以确定收到了哪个“wrap”,那么它将按照我的预期工作。

你可以简单地使用事件来确定哪些元素正在滚动。例如:

$('.wrap').scroll(function() {
    console.log($(this));
});

uuuu ggggg lllllll yyy但它是有效的,我注意到当一个wrap元素被聚焦,然后当selectNext()函数被调用时,我只是引用它。我将暂时把这个作为不可接受的答案,看看是否有人知道如何通过查看事件对象来建立它,但这是一个有效的解决方案


作为旁注:我注意到,当您单击滚动条上的箭头上下移动时,滚动条不会滚动内容。要解决此问题,请在
.wrap
样式中添加
行高设置。与此类似:
.wrap{height:5em;line height:1em;overflow-y:scroll;}
@Francois Wahl,这与我要找的非常接近。我希望[down40]将类“selected”添加到下一个元素中,并将其从当前元素中删除。此时停止滚动是否为时已晚?我如何判断在那个点上是否按下了[向上]或[向下]?我真的在寻找滚动之前的keyup事件。如果用户使用鼠标滚轮而不是上下键滚动,该怎么办?您可能对waypoints jQuery插件感兴趣:例如,
someElements.waypoint(函数(事件,方向){if(方向=='down'){//do something})非常酷的东西!我希望滚轮保持不变。我相信我将来可能会用这个,谢谢。