输入、回车提交,这是一组在搜索场景中常见、友好的交互形式,但要将其做好以获得更好的用户体验,还需要关注其中的小小细节。 监听回车 所谓的细节就是关于“回车”的监听。因为输入法的存在,引入了文本合成现象,使得字符输入变得不再纯粹简单。 若处理不当,就会出现在开着输入法的情况下,当只想使用回车输入字符时,却触发了提交动作。 就像这样(我想搜的可能是 “red 主题”): 大胆猜想一下,上面输入框的实现可能是这样的: input.addEventListener('keydown', (e) => { if (e.code !== 'Enter') return;