javascript - 关闭模式后,如何将焦点返回到单击的交互式元素?反应JS
问题描述
单击按钮时,会打开一个模式,一旦模式关闭,焦点应该回到按钮上以实现可访问性。我尝试过使用 ref 和 id。都没有奏效。
Carbon 组件被用于我们直接调用<Modal>
标签来创建模态的地方。
解决方案
您需要以某种方式将 OnClick 属性添加到关闭模式的按钮,或添加事件侦听器。
<!-- OnClick Method -->
<h2>Hello</h2>
<button onClick={closeModal}>close</button>
<div>I am a modal</div>
或者
<!-- Event Listener Method -->
<h2>Hello</h2>
<button id="close-modal">close</button>
<div>I am a modal</div>
....
<script>
document.getElementById("close-modal").addEventListener("click", closeModal);
</script>
在连接到 OnClick 或事件侦听器的 JS 函数中,您可以使用 vanilla JS 设置焦点。
function closeModal(){
document.getElementById("ID-of-element-needing-focus").focus();
}
推荐阅读
- html - 背景图片没有出现在网页上
- hive - Hive 中复杂数据类型的使用
- css - 如何从 sass mixin 循环内容指令?
- powershell - 删除模块也会尝试删除 PackageManagement
- c# - 有没有办法根据 C# 对象的属性自动形成长的 MySql INSERT 命令?
- python - Keras 神经网络错误与数组 - “请提供模型目标单个数组或数组列表。”
- json - 以嵌套的 Json 格式返回响应
- android - 尝试获取 Json 对象时改造 + Moshi + Kotlin = 403 错误
- r - 当某些列没有分隔符时,在 tidyr 中对许多列使用单独的行
- java - 如何只在 SQL 表中插入一列?