我正在实现一个 AJAX“自动建议”框:用户在输入文本字段中键入一个字符串,显示一个带有表格的隐藏 div,然后他/她可以单击一行或使用向上/向下箭头滚动列表; 同时,焦点仍然保持在输入文本字段上。
一切正常,但有一个细节我无法实现,这在概念上似乎很困难,甚至是不可能的。当用户将光标移动到另一个输入字段或只是单击窗口的空白点时,我想隐藏建议列表。这本身不难实现,我只是加了一个回调OnBlur;但这会破坏对项目OnClick的选择,因为 onblur 事件在单击之前触发,然后 DIV 在 onclick 事件触发之前消失...
我想过在整个窗口上实现一个 onclick 回调,然后检查点击发生的位置,但这似乎有点太尴尬和扭曲。有人有更好的主意吗?谢谢!