0

0

Bootstrap输入框清除按钮 Bootstrap如何给input添加一键清空功能

畫卷琴夢

畫卷琴夢

发布时间:2026-03-16 20:04:04

|

413人浏览过

|

来源于php中文网

原创

用 data-pure-clear-button 属性最省事,但需引入对应插件且确保 jQuery 在前、插件 JS 在后;未引入插件则属性无效,这是“加了不显示”的主因。

怎么让 input 右侧自动出现「×」并清空内容

直接用 data-pure-clear-buttondata-auto-clear-button 属性最省事,但前提是已引入对应插件(如 jquery.bootstrap-pureclearbutton.js)。它本质是监听 inputinputfocus 事件,动态插入一个带 click 清空逻辑的按钮。没引入插件时加了属性也没用——这是最常见的“加了不显示”原因。

  • 必须确保 jQuery 在前,插件 JS 在后;Bootstrap 4+ 的 .form-control 需要配合 .has-feedback 容器才能正确定位图标
  • 图标默认用 glyphicon-remove,若项目已弃用 Glyphicons(如 Bootstrap 5),得手动替换成 SVG 或 Font Awesome 的 ×
  • 不要在 input 上直接写 style="position: relative"——会干扰插件计算清除按钮的绝对定位

不用插件,纯 CSS + JS 实现 hover 显示清空按钮

核心思路是:把清除按钮和 input 放进同一个 position: relative 容器,按钮用 position: absolute; right: 8px; top: 50%; transform: translateY(-50%) 对齐。JS 只控制显隐,不操作 DOM 结构。

  • 监听 input 事件比 keyup 更可靠,能捕获粘贴、拖入、语音输入等所有值变更
  • 别用 hover 伪类做显隐判断——移动端没 hover,且鼠标移入时 input 可能还没值,造成按钮闪现
  • $.trim($('#list_input').val()) !== '' 必须加 $.trim,否则空格会误判为“有值”
  • 清除按钮的 z-index 至少设为 100,避免被下拉框、日期组件等遮挡

为什么点击「×」后 input 失去焦点?

因为清除按钮默认是 buttona 标签,点击会触发默认行为(如提交表单、跳转链接),导致 input 失焦甚至页面刷新。这不是 bug,是 HTML 原生行为。

‎ Gemini Storybook
‎ Gemini Storybook

Google Gemini推出的AI绘本生成工具

下载
  • 给清除按钮加 type="button"(如果是 button)或 href="javascript:void(0)"(如果是 a
  • JS 里调用 event.preventDefault(),但更推荐前者——语义清晰且无需依赖 JS
  • 清空后建议主动调用 $('#list_input').focus(),保持用户操作流不中断

Bootstrap 5 下如何兼容 Font Awesome 图标

Bootstrap 5 已移除所有内置图标字体,glyphicon 彻底失效。直接用 Font Awesome 的 i 标签替换即可,但要注意尺寸和垂直居中。

  • HTML 中写:<i class="fas fa-times" id="clear-input-value"></i>
  • CSS 中补一句:#clear-input-value { font-size: 0.875em; line-height: 1; },否则图标可能比 input 高
  • 别用 fa-lg 这类放大类名——会破坏与 input 的高度对齐
  • 如果用了 FA 的 SVG 框架(@fortawesome/react-fontawesome 等),需改用组件写法,不能直接写 i 标签
清除按钮看似简单,但跨框架兼容、移动端适配、焦点管理这三块最容易漏掉。尤其是多人协作时,有人用插件、有人手写、有人混用,最后样式错位或事件冲突,调试起来反而比重写还费时间。

热门AI工具

更多
DeepSeek
DeepSeek

幻方量化公司旗下的开源大模型平台

豆包大模型
豆包大模型

字节跳动自主研发的一系列大型语言模型

WorkBuddy
WorkBuddy

腾讯云推出的AI原生桌面智能体工作台

腾讯元宝
腾讯元宝

腾讯混元平台推出的AI助手

文心一言
文心一言

文心一言是百度开发的AI聊天机器人,通过对话可以生成各种形式的内容。

讯飞写作
讯飞写作

基于讯飞星火大模型的AI写作工具,可以快速生成新闻稿件、品宣文案、工作总结、心得体会等各种文文稿

即梦AI
即梦AI

一站式AI创作平台,免费AI图片和视频生成。

ChatGPT
ChatGPT

最最强大的AI聊天机器人程序,ChatGPT不单是聊天机器人,还能进行撰写邮件、视频脚本、文案、翻译、代码等任务。

相关专题

更多
jquery插件有哪些
jquery插件有哪些

jquery插件有jQuery UI、jQuery Validate、jQuery DataTables、jQuery Slick、jQuery LazyLoad、jQuery Countdown、jQuery Lightbox、jQuery FullCalendar、jQuery Chosen和jQuery EasyUI等。本专题为大家提供jquery插件相关的文章、下载、课程内容,供大家免费下载体验。

156

2023.09.12

jquery怎么操作json
jquery怎么操作json

操作的方法有:1、“$.parseJSON(jsonString)”2、“$.getJSON(url, data, success)”;3、“$.each(obj, callback)”;4、“$.ajax()”。更多jquery怎么操作json的详细内容,可以访问本专题下面的文章。

337

2023.10.13

jquery删除元素的方法
jquery删除元素的方法

jquery可以通过.remove() 方法、 .detach() 方法、.empty() 方法、.unwrap() 方法、.replaceWith() 方法、.html('') 方法和.hide() 方法来删除元素。更多关于jquery相关的问题,详情请看本专题下面的文章。php中文网欢迎大家前来学习。

406

2023.11.10

jQuery hover()方法的使用
jQuery hover()方法的使用

hover()是jQuery中一个常用的方法,它用于绑定两个事件处理函数,这两个函数将在鼠标指针进入和离开匹配的元素时执行。想了解更多hover()的相关内容,可以阅读本专题下面的文章。

516

2023.12.04

jquery实现分页方法
jquery实现分页方法

在jQuery中实现分页可以使用插件或者自定义实现。想了解更多jquery分页的相关内容,可以阅读本专题下面的文章。

312

2023.12.06

jquery中隐藏元素是什么
jquery中隐藏元素是什么

jquery中隐藏元素是非常重要的一个概念,在使用jquery隐藏元素之前,需要先了解css样式中关于元素隐藏的属性,比如display、visibility、opacity等属性。本专题为大家提供相关的文章、下载、课程内容,供大家免费下载体验。

129

2024.02.23

jquery中什么是高亮显示
jquery中什么是高亮显示

jquery中高亮显示是指对页面搜索关键词时进行高亮显示,其实现办法:1、先获取要高亮显示的行,获取搜索的内容,再遍历整行内容,最后添加高亮颜色;2、使用“jquery highlight”高亮插件。本专题为大家提供相关的文章、下载、课程内容,供大家免费下载体验。

184

2024.02.23

jQuery 正则表达式相关教程
jQuery 正则表达式相关教程

本专题整合了jQuery正则表达式相关教程大全,阅读专题下面的文章了解更多详细内容。

51

2026.01.13

chatgpt使用指南
chatgpt使用指南

本专题整合了chatgpt使用教程、新手使用说明等等相关内容,阅读专题下面的文章了解更多详细内容。

0

2026.03.16

热门下载

更多
网站特效
/
网站源码
/
网站素材
/
前端模板

精品课程

更多
相关推荐
/
热门推荐
/
最新课程
Bootstrap 5教程
Bootstrap 5教程

共46课时 | 3.6万人学习

HTML+CSS基础与实战
HTML+CSS基础与实战

共132课时 | 12.7万人学习

JS进阶与BootStrap学习
JS进阶与BootStrap学习

共39课时 | 3.4万人学习

关于我们 免责申明 举报中心 意见反馈 讲师合作 广告合作 最新更新
php中文网:公益在线php培训,帮助PHP学习者快速成长!
关注服务号 技术交流群
PHP中文网订阅号
每天精选资源文章推送

Copyright 2014-2026 https://www.php.cn/ All Rights Reserved | php.cn | 湘ICP备2023035733号