gpt4 book ai didi

javascript - 文本区域 Shift+Enter 进入下一行并 Enter 提交表单

转载 作者:太空宇宙 更新时间:2023-11-03 21:45:47 27 4
gpt4 key购买 nike

在 textarea 中,当用户按下 Shift+Enter 时,它应该在下一个新行继续,当他简单地按下 Enter 时,它应该提交表单而不使用提交按钮。

这是 Fiddle!!

我浏览了很多但对我没有帮助,感谢详细解释请帮助我!!

代码

$('commenttextarea').keyup(function (event) {
if ( event.shiftKey && event.keyCode == 13) {
var content = this.value;
var caret = getCaret(this);
this.value = content.substring(0,caret)+"\n"+content.substring(carent,content.length-1);
event.stopPropagation();

}else if(event.keyCode == 13)
{
$('commentform').submit();
}});

最佳答案

首先,您错过了加载任何jquery 版本

第二,您在 textareaform 选择器 之前错过了 #

也可以在行中使用 caret 而不是 carent

this.value = content.substring(0,caret)+"\n"+content.substring(caret,content.length-1);
// ----------------------------------^

完整代码

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;
}
$('#commenttextarea').keyup(function (event) {
if (event.shiftKey && event.keyCode == 13) {
var content = this.value;
var caret = getCaret(this);
this.value = content.substring(0, caret) + "\n" + content.substring(caret, content.length - 1);
event.stopPropagation();
} else if (event.keyCode == 13) {
$('#commentform').submit();
}
});

参见 this会工作

关于javascript - 文本区域 Shift+Enter 进入下一行并 Enter 提交表单,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/20742392/

27 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com