javascript - 处理点击事件
问题描述
我正在创建一个切换,当我单击按钮时聚焦输入,并在我单击输入外部或第二次单击按钮时模糊它。
我唯一的问题是当我在输入之外单击时,我需要在按钮上单击两次以再次聚焦输入。
我的功能
let isFocused = false
const blurAlias = () => {
document.getElementById('aliasInput').blur()
document.getElementById('aliasInput').setAttribute("disabled", true);
}
const focusAlias = () => {
isFocused = !isFocused
if ( document.activeElement === document.getElementById('aliasButton')) {
document.getElementById('aliasInput').removeAttribute("disabled")
document.getElementById('aliasInput').focus();
document.getElementById('aliasInput')
.addEventListener("keyup", function(event) {
if (event.keyCode === 13) {
event.preventDefault();
blurAlias()
}
});
}
}
我的 HTML:
<input disabled class="break-word mb-0 editAliasInput"
data-ng-value="ext.helpers.handleAlias($ctrl.state.accounts.accountDetails)"
id="aliasInput" maxlength="35"
onkeypress="this.style.minWidth = ((this.value.length + 1) * 12) + 'px'"
onblur="setAttribute('disabled', true)">
<button class="editAliasButton" ng-click="ext.helpers.focusAlias()"
id="aliasButton"><i class="fas fa-edit"></i>
</button>
解决方案
推荐阅读
- javascript - 模板组件从数组中移除时不会重新渲染
- powershell - 运行文件夹中的所有 .exe
- node.js - MongoError:doc参数必须是一个对象
- javascript - NodeJS 和 MongoDB 中的多个查询
- python - 在 pip install 上出现无效的语法错误
- mongodb - 由于创建 mongoTemplate bean 错误,Spring boot + mongo Heroku 部署失败
- kubernetes - 使用 AGE 的标签列出 kubernetes pvc
- html - 为什么css不能设置样式带有元素的元素使用css控制图像的大小?
- java - 以编程方式使用 JaCoCo API
- vb.net - 形式光标不变