移动设备填写表单时输入法只有下一步没有"回车"键解决办法

WEB页面有一个搜索表单,脚本增加了监听功能,输入回车键直接搜索,PC端使用正常,但在移动设备无法正常使用,原因是输入法只有"下一步"键,没有"回车"键:



开始以为是输入法的问题,后来发现浏览器才是始作俑者,Chrome for Android 从 Chromium 62 起有"智能表单导航"逻辑,当前输入框不是表单里最后一个可聚焦文本框,输入法右下角按钮显示为下一步/下一项,当前是最后一个输入框时,才会显示为完成/前往/确认。

移动设备填写表单时输入法只有下一步没有"回车"键解决办法

通过给输入框增加enterkeyhint属性可以解决这个问题,enterkeyhint可选的值有:done、go、search、send、enter,其中enter就是回车:

<input type="text" class="search-input" id="searchName"
       placeholder="🔍 输入客户名称搜索"
       enterkeyhint="enter">
<input type="text" class="search-input" id="searchPhone"
       placeholder="📞 输入电话号码搜索"
       enterkeyhint="enter">
<input type="text" class="search-input" id="searchAddress"
       placeholder="📍 输入地址搜索"
       enterkeyhint="enter">

此外,在监听事件中还要加一个 e.preventDefault(),用于阻止回车键的默认行为(即跳到下一个输入框):

el.addEventListener('keydown', function(e) {
    if (e.key === 'Enter') {
        e.preventDefault();   // ← 加了这一行
        doSearch();
    }
});


上一篇: PHP+SQLite系统通用开发规范
下一篇: 这是最新一篇日志
文章来自: 本站原创
引用通告: 查看所有引用 | 我要引用此文章
Tags:
最新日志:
评论: 0 | 引用: 0 | 查看次数: 20
发表评论
登录后再发表评论!