我有有很多输入的HTML表单。当我有焦点输入时,我很感兴趣,然后我滚动页面,焦点被打乱了。
发布于 2009-01-30 16:29:31
问题:使用IE滚动条时,焦点元素失去焦点。
您需要:
在文档已被scrolled
时标识失去焦点的元素和标识
您可以通过blur事件标识失去焦点的元素。将适当的事件处理程序添加到要记住焦点的每个元素。
当blur事件处理程序运行时,对于给定的输入元素,您应该存储输入元素的标识符(可能是在全局变量中)。如何做到这一点取决于您选择如何标识元素。元素的id将是理想的。
您可以通过window对象的scroll事件处理程序判断文档何时正在滚动。参见https://developer.mozilla.org/en/DOM/window.onscroll。
您可以通过比较scrollHeight的之前和之后的值来判断文档何时完成滚动。参见https://developer.mozilla.org/en/DOM/element.scrollHeight。
总体而言:
将焦点事件处理程序添加到输入元素中比较模糊时,请注意失去焦点的元素和当前的scrollHeight
您可能希望在停止滚动和重新应用焦点之间等待一小段时间。用户可能正在滚动,停止,滚动,停止。你不希望你的脚本导致疯狂的焦点跳跃行为。
https://stackoverflow.com/questions/489478
复制相似问题