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

无法隐藏输入框清除X按钮,需设置为仅聚焦时显示、失焦后隐藏

解决输入框清除按钮仅在焦点时显示的问题

要实现清除按钮仅在输入框获得焦点时显示、失去焦点隐藏的效果,你可以通过CSS伪类结合兄弟选择器来实现,步骤如下:

  1. 添加CSS样式
    默认隐藏清除按钮,仅当输入框获得焦点时显示它:
/* 默认隐藏清除按钮 */
.form-control-clear {
    display: none;
}

/* 输入框获得焦点时,显示相邻的清除按钮 */
input:focus + .form-control-clear {
    display: block;
}
  1. 整理HTML代码
    修正原代码中class属性的多余空格,确保结构正确:
<div class="input-group">
    <div class="btn-group has-feedback has-clear">
        @Html.TextBoxFor(m => m.Amount)
        <a id="searchclear3"
           class="glyphicon glyphicon-remove-circle form-control-feedback form-control-clear"
           style="pointer-events:auto; text-decoration:none; cursor:pointer;"
           onclick="$(this).prev('input').val(''); return false;">
        </a>
    </div>
</div>

可选增强(按需添加)

如果希望输入框有内容时,即使失去焦点也显示清除按钮,可以结合JavaScript监听输入事件:

$(function() {
    const input = $('input[name="Amount"]');
    const clearBtn = $('#searchclear3');

    // 监听输入事件,根据内容显示/隐藏按钮
    input.on('input', function() {
        if ($(this).val().trim()) {
            clearBtn.show();
        } else {
            // 无内容时,只有焦点状态才显示
            if (!$(this).is(':focus')) {
                clearBtn.hide();
            }
        }
    });

    // 失去焦点时,无内容则隐藏按钮
    input.on('blur', function() {
        if (!$(this).val().trim()) {
            clearBtn.hide();
        }
    });
});

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

相关产品推荐
方舟 Agent Plan

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

最近更新时间:2026.08.03 01:40:20