如何合并不同元素的事件?实现按钮与回车提交复用代码
解决方案
解决这个问题的核心是把提交逻辑抽离成独立函数,让按钮点击和回车事件共用同一个函数,避免代码重复,具体实现如下:
封装提交逻辑为独立函数
将原有的提交代码单独提取成一个可复用的函数:function submitMessage() { // 这里放置你原来的提交代码 }绑定按钮点击事件
让按钮的点击事件直接调用这个封装好的函数:$(".btn-success").click(submitMessage);绑定textarea回车事件
给textarea添加键盘按下事件监听,判断按下的是回车键时,调用提交函数并阻止默认的换行行为:// 建议给目标textarea添加专属类/ID,使用更精准的选择器(比如$(".message-input")) $("textarea").keydown(function(e) { if (e.which === 13) { e.preventDefault(); // 阻止textarea自动换行 submitMessage(); } });
这样不管是点击按钮还是在textarea中按回车键,都会执行同一套提交逻辑,完全避免了代码重复。
内容的提问来源于stack exchange,提问作者Izanami
相关产品推荐
相关产品推荐

