You need to enable JavaScript to run this app.
优惠活动
大模型
产品
解决方案
定价
更多

如何判断textbox输入控件当前是否处于选中状态?

判断文本框是否处于选中(焦点)状态的原生JavaScript函数

方法1:直接对比当前活动元素

这是最直接的实现方式,利用浏览器提供的document.activeElement获取当前页面获得焦点的元素,对比目标文本框即可:

function isTextBoxFocused(textBoxId) {
  const targetTextBox = document.getElementById(textBoxId);
  return document.activeElement === targetTextBox;
}

使用示例:
假设你的文本框HTML结构是 <input type="text" id="userInput">,调用函数时只需传入ID:

// 检查文本框是否处于选中状态
const focusedStatus = isTextBoxFocused('userInput');
console.log(focusedStatus); // 输出true(选中)或false(未选中)

方法2:通过事件监听维护实时状态

如果需要持续跟踪文本框的焦点变化,可以绑定focus和blur事件,维护一个状态变量:

// 初始化状态为未选中
let isTargetFocused = false;
const targetTextBox = document.getElementById('userInput');

// 文本框获得焦点时更新状态
targetTextBox.addEventListener('focus', () => {
  isTargetFocused = true;
});

// 文本框失去焦点时更新状态
targetTextBox.addEventListener('blur', () => {
  isTargetFocused = false;
});

// 获取当前状态的函数
function getTextBoxFocusStatus() {
  return isTargetFocused;
}

关于你之前的onclick方法无效的原因
onclick仅在点击动作触发时执行,无法实时反映文本框的焦点状态——比如点击文本框后再点击页面其他区域,文本框会失去焦点,但onclick不会再次触发,自然无法更新状态。上面的两种方法则能准确获取当前时刻的焦点状态。

内容的提问来源于stack exchange,提问作者Ethan Kempton

相关产品推荐
方舟 Agent Plan

超全模态模型 × Harness 升级,最新支持 Deepseek-V4.1-Flash、GLM-5.3 系列、Doubao-Seedream-5.0-pro、Kimi-K3 (部分), 限时 9.9 元起

最近更新时间:2026.07.26 14:23:08