用例: 我有一个用户在其中输入订单行的表。该表是产品列表,它们可以在表格中上下翻页。如果他们在一个产品中输入了数量,然后向下翻页,则需要将重点放在他们开始的同一列中的输入字段上,但在新行处,向下翻页已移至。
问题: 向下页面将更改悬停位置。因此,我可以获取哪一行具有悬停状态并将焦点更改为该行中的正确列。 我需要在向下翻页并且新行完成后执行代码:悬停。
但是,由于向下翻页是异步的,因此在我的事件处理程序中获取具有悬停状态的行将返回当前行,而不是将具有的行:当向下翻页完成时悬停。如何编写页面向下事件处理程序,以便在页面关闭完成后执行代码?
使用在"keydown"类型事件完成后执行的代码将承诺附加到表不起作用。它在新行具有:悬停状态之前运行。
您可以使用document.activeElement
获取具有焦点的元素,从中获取列,并使用$(columnSelector).focus()
将焦点设置为新填充的记录列。
另一种方法是使用焦点事件处理程序并在变量中维护最后一个焦点列名称。