如何禁用textarea中Shift+Enter组合键触发的换行功能
禁用textarea中Enter和Shift+Enter的换行功能
要同时禁用单独按Enter和Shift+Enter触发的换行,你需要调整判断条件,并且在触发自定义逻辑时阻止浏览器的默认换行行为(否则即使执行了你的代码,textarea还是会自动换行)。
修改后的代码如下:
onKeyPress={(event) => { // 匹配单独按Enter 或者 Shift+Enter的情况 if (event.key === 'Enter') { // 阻止浏览器默认的换行行为 event.preventDefault(); // 执行你的自定义逻辑 onInputPressEnter(event, elementsRefs); setSubmitted(true); } }}
关键说明:
- 去掉了
!event.shiftKey的限制,这样不管有没有按住Shift,只要按下Enter就会触发判断 - 必须调用
event.preventDefault(),这是阻止textarea自动换行的核心步骤,否则浏览器会执行默认的换行操作 - 如果后续需要区分Enter和Shift+Enter做不同操作,可再拆分判断逻辑,但当前代码已满足“都禁用换行”的需求
内容的提问来源于stack exchange,提问作者sanaaa
相关产品推荐
相关产品推荐

