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