首页 > 解决方案 > HTML如何在单击另一个元素(例如按钮)后保持输入的焦点状态

问题描述

单击按钮后,我想保持对焦状态。保持状态意味着:

所以,点击后,由于当前的聚焦状态<input/>总是'不聚焦',我想得到之前的聚焦状态<input/>

问题是blur总是在click事件之前调用。

我试过的:

// onclick event
this.$iptPassword.on('click', this.toggleShowPassword);
// callback
toggleShowPassword() {
    console.log(this.$iptPassword.is(':focus')); // always return false
    this.$iptPassword.attr('type', this.$iptPassword.attr('type') === 'password' ? 'text' : 'password');
}

标签: javascriptjqueryhtml

解决方案


创建了一个有效的 Plnkr -切换输入类型 + 焦点状态

引入了 2 个变量——“inputWasFocused”和“clickWasOutsideOfScope”——使用这些变量,我可以保存最后一个输入状态(聚焦/不聚焦)——在实际的“模糊”事件之前


推荐阅读