enterkeyhint是html input和textarea的原生属性,仅影响移动端虚拟键盘回车键文案(如“搜索”“发送”),不触发行为;需值合法(enter/done/go/next/previous/search/send,小写)、搭配type/inputmode、置于form内且未阻止默认事件,chromium系及safari 16.4+支持,firefox不支持。

enterkeyhint 是什么,哪些浏览器支持
enterkeyhint 是 HTML input 和 textarea 元素的原生属性,用于提示虚拟键盘应显示哪个语义化的回车键文本(比如“搜索”“发送”“下一步”)。它不改变行为,只影响键盘 UI。目前仅 Chromium 内核浏览器(Chrome 77+、Edge 79+、Opera 64+)和 Safari 16.4+ 支持;Firefox 完全不识别该属性,设置后会被忽略。
怎么写才生效:值必须合法且匹配场景
只有以下四个值被规范允许:enter、done、go、next、previous、search、send。注意大小写敏感,Enter 或 SEARCH 会失效。浏览器会根据当前输入框类型和上下文做二次适配——比如 type="search" 的 input 即使设了 enterkeyhint="send",也可能仍显示“搜索”。
-
search最适合type="search"或带搜索意图的input -
send推荐用于聊天输入框、表单末尾的提交型textarea -
next适合多字段表单中非末尾的输入项(如姓名 → 邮箱 → 手机) -
done常用于单行设置项或无后续操作的输入(如“昵称”)
常见失效原因:别被这些坑耽误
写了 enterkeyhint 却没变化?大概率是以下情况之一:
- 目标元素不是可聚焦的表单控件(比如给
div加该属性无效) - 页面未在移动设备或模拟移动视口下测试(桌面 Chrome 开发者工具需开启 device toolbar 并选 iOS/Android)
- 用了非法值,例如
enterkeyhint="submit"或空字符串enterkeyhint="" - Safari 16.4 之前版本完全不支持,iOS 16.4 以下系统无效
- CSS 设置了
input { appearance: none; }可能干扰底层键盘绑定逻辑
配合 autocomplete 提升语义一致性
enterkeyhint 的效果常与 autocomplete 协同起作用。比如登录页邮箱输入框设 autocomplete="email" + enterkeyhint="next",比单纯写 next 更容易触发键盘显示“下一个”;密码框用 autocomplete="current-password" + enterkeyhint="send",iOS 键盘更倾向显示“前往”或“登录”。这不是强制规则,但实测中语义越明确,键盘响应越可靠。
真正起效的点不在属性本身多酷炫,而在它和输入场景、平台习惯、辅助技术之间的咬合是否紧密。漏掉任意一环,用户看到的还是那个万年不变的“回车”键。
前端入门到VUE实战笔记:立即使用
在学习笔记中,你将探索 前端 的入门与实战技巧!











