HTML如何在单击另一个元素(例如按钮)后保持输入状态



我想在单击按钮后继续关注状态。保持状态意味着:

  • 如果<input/>对焦,请在单击按钮后保持对焦;
  • 如果之前未对焦<input/>,则单击按钮后不要对焦

所以点击后,由于<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');
}

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

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

类似的问题在这里。但是触摸屏上的事情要复杂得多。

jQuery:在blur((事件之前触发click((

最新更新