我试图回答一个有关自定义下拉菜单的问题,但在Chrome和Firefox中遇到了不一致的行为。
演示:http://jsfiddle.net/fyeht/ [添加了滚动事件以增加清晰度]
如下图所示,可以使用箭头键导航列表项。
重现问题:
- 在Chrome中打开控制台(F12)
- 单击列表中的项目(您会注意到一些事件记录在控制台中)
- 使用向下箭头键导航到列表中的下一个项目
- 最后,在达到视图中的最后一个项目并按下箭头键进行滚动时,会发现问题。 检查日志以查看“滚动”、“鼠标进入”和“鼠标移动”[检查新演示]
问题在于,当达到视图中的项目末尾并且触发滚动时,即使鼠标没有被触摸,它也会在Chrome中触发mouseenter
和mousemove
事件。 在FF中,在滚动时仅触发mouseenter
,这是有意义的。
问题:
- 为什么鼠标未被触摸时会触发
mousemove
? - 这只是浏览器不一致吗?找不到有关滚动时触发的事件的文档吗?(以前不知道它会这样做)
提交了错误报告:https://code.google.com/p/chromium/issues/detail?id=241476