Javascript 如何关注打开的触发器元素和模式,一旦内容被保存,整个页面将被销毁并再次呈现

Javascript 如何关注打开的触发器元素和模式,一旦内容被保存,整个页面将被销毁并再次呈现,javascript,dom,focus,accessibility,uiaccessibility,Javascript,Dom,Focus,Accessibility,Uiaccessibility,这更多的是一个架构问题,因此在网页中,我有一个编辑按钮,允许我编辑记录。只要我按下编辑按钮,一个模式就会打开,我更改了一些记录信息,然后点击保存 焦点会返回到toast(保存确认)的(X)close按钮一秒钟,甚至在toast消失之前,焦点会返回到浏览器,因为保存会刷新页面,dom会被销毁并再次创建 我们希望做的是,一旦我们在模式中点击save按钮,焦点应该转到toast(x)close按钮,等待确认对话框(toast)消失,然后再次返回edit按钮 因此,有两个问题需要解决 当dom被销毁并

这更多的是一个架构问题,因此在网页中,我有一个编辑按钮,允许我编辑记录。只要我按下编辑按钮,一个模式就会打开,我更改了一些记录信息,然后点击保存

焦点会返回到toast(保存确认)的(X)close按钮一秒钟,甚至在toast消失之前,焦点会返回到浏览器,因为保存会刷新页面,dom会被销毁并再次创建

我们希望做的是,一旦我们在模式中点击save按钮,焦点应该转到toast(x)close按钮,等待确认对话框(toast)消失,然后再次返回edit按钮


因此,有两个问题需要解决

当dom被销毁并再次创建时,如何在编辑按钮(触发器)上设置焦点我们在模式中点击save按钮,因为之前有几个按钮,如new、view和edit。如何具体设置触发器元素的焦点

如何创建焦点堆栈,在该堆栈中,我们可以指定焦点应该首先转到toast,而n应该转到触发器,即使dom被销毁并再次创建(这可能吗)


当我说“dom被销毁并再次创建”时,是不是要部分替换dom内容?或者整个页面被重新加载


仅在标题面板中销毁并再次创建这些触发按钮(新建、编辑、查看)。因此,只有部分dom被销毁并再次创建

toast消息通常是临时的,并且会自行消失。它应该是不引人注目的,以便它可以很容易地被忽略。如果您有一个X close按钮,并且您希望用户单击它(或按ESC键)以关闭toast消息,那么您实际上有一个模式对话框而不是toast消息

在我使用过的允许编辑和保存的网站上,我发现只需在页面上保存一条简单的消息就足够了。保存消息可以是一个区域,以便为屏幕阅读器用户读取消息。如果我开始编辑其他字段,保存消息通常会消失

如果必须在重新创建DOM后强制焦点返回到某个位置,则必须保存您所在的位置(cookie),然后获取保存点,并对其调用focus()方法