react:如何通过点击处理程序设置焦点
react: how to set focus from a click handler
我的基于react redux的表单有一个按钮,它应该重置表单并将焦点移回第一个输入字段
重置内容是直接的冗余状态,但我在焦点方面遇到了问题。
第一个字段上的autoFocus仅适用于初始渲染。有什么合理的方法可以重新触发它吗?
如果我需要使用显式元素.focus(),我应该从哪里调用它?我使用的是react redux,但不是redux形式。
您是否在存储中保留一些信息以了解哪些元素应该关注页面加载?没有?那你以后为什么要这么做呢?
在调度操作之后立即触发element.focus()
-您不需要Redux来实现这一点,也不需要Redu克斯来存储此状态。
伪代码可能看起来像这个
onReset() {
const action = {
type: RESET_FORM,
}
dispatch(action);
const element = getElement(); // propably read ref? Find element with [autoFocus] attribute in component?
element.focus();
}
您可以使用:
document.getElementById("ElementName").focus();
此处的最终代码:
<!DOCTYPE html>
<html>
<head>
<meta charset="UTF-8">
<script>
function change() {
document.getElementById("two").focus();
}
</script>
</head>
<body>
<input type="radio" name="name" id="name" onchange="change()" />
<input type="text" name="one" id="one" />
<input type="text" name="two" id="two" />
</body>
</html>
相关文章:
- keyup事件处理程序更改焦点不适用于快速键入
- 提示使用服务器端事件处理程序激活JavaScript
- 将事件处理程序绑定到任何可能的事件
- 正在将事件处理程序添加到不存在的类
- 在AJAX回调和呈现PIXIJS之间处理程序流时遇到了问题
- Adobe Edge:动画完成时添加onComplete处理程序
- 是否可以从输入处理程序中确定输入的类型
- 在循环中附加事件处理程序时出现浏览器性能问题
- 在同一个javascript事件处理程序中调用不同的函数
- 有没有一种方法可以让内联事件处理程序在元素创建后立即执行
- 检查事件处理程序参数
- 实现延迟的jquery更改事件处理程序
- 平均值.on(事件[,选择器][,数据],处理程序)
- getSript在同一对象上多次添加处理程序
- 如何使用Node.js在JavaScript模块文件之间使用事件处理程序
- 如何让React JS点击处理程序在执行时更新DOM
- 如何使jQuery的“bind”或“on”事件处理程序幂等
- Backbone listenTo不将jquery函数作为处理程序进行激发
- 带有参数的Javascript事件处理程序
- Jquery事件处理程序仅适用于匿名函数