jQuery:加载对话框后返回焦点

3
有没有一种简单的方法来记住在加载对话框显示之前具有焦点的元素,并将焦点返回到该元素?
页面上有一个搜索按钮,按下键盘会发送ajax请求从服务器获取数据。每次ajax请求时,模态加载对话框都会显示(请注意它是jquery对话框),并且在响应后,搜索元素上的焦点会丢失,我想要它回来。
谢谢。

请澄清一下,您是说当某人在jQueryUI对话框上单击关闭后,希望焦点集中在搜索字段上吗?- http://jqueryui.com/demos/dialog/ - house9
啊,我想我表达不够清楚。我希望焦点返回到先前活动的元素(就像jfriend00所假设的那样)- 不仅仅是搜索输入框。 - frenzy
可能有用:https://dev59.com/w07Sa4cB1Zd3GeqP6s6l#57099835 - Stephen R
1个回答

7
在弹出对话框之前,您可以使用以下代码保存焦点的位置:
var origFocus = document.activeElement;

然后,在对话框消失后,您可以恢复它:

origFocus.focus();

网页内容由stack overflow 提供, 点击上面的
可以查看英文原文,
原文链接