栏目分类:
子分类:
返回
名师互学网用户登录
快速导航关闭
当前搜索
当前分类
子分类
实用工具
热门搜索
名师互学网 > IT > 面试经验 > 面试问答

如何检测“ shift + enter”并在Textarea中生成新行?

面试问答 更新时间: 发布时间: IT归档 最新发布 模块sitemap 名妆网 法律咨询 聚返吧 英语巴士网 伯小乐 网商动力

如何检测“ shift + enter”并在Textarea中生成新行?

我的解决方案

我想你可以做这样的事情。

编辑: 更改代码以工作,无论插入位置

代码的第一部分是获得插入符的位置。

function getCaret(el) {     if (el.selectionStart) {         return el.selectionStart;     } else if (document.selection) {         el.focus();        var r = document.selection.createRange();         if (r == null) {  return 0;        }        var re = el.createTextRange(), rc = re.duplicate();        re.moveToBookmark(r.getBookmark());        rc.setEndPoint('EndToStart', re);        return rc.text.length;    }      return 0; }

然后在

Shift
+
Enter
在一起时相应地替换textarea值,如果
Enter
单独按下则提交表格。

$('textarea').keyup(function (event) {    if (event.keyCode == 13) {        var content = this.value;          var caret = getCaret(this);       if(event.shiftKey){ this.value = content.substring(0, caret - 1) + "n" + content.substring(caret, content.length); event.stopPropagation();        } else { this.value = content.substring(0, caret - 1) + content.substring(caret, content.length); $('form').submit();        }    }});


转载请注明:文章转载自 www.mshxw.com
本文地址:https://www.mshxw.com/it/575099.html
我们一直用心在做
关于我们 文章归档 网站地图 联系我们

版权所有 (c)2021-2022 MSHXW.COM

ICP备案号:晋ICP备2021003244-6号