我有一个textarea字段,当用户按下回车键时提交信息。以下是我的内容:
$(document)ready(function(){
$('textarea').on('keypress',function(e){
var txt;
txt = $(this).val();
if(e.which == 13)
{
//submit the form
}
});
});
我想要做的是当用户按下 回车键时提交信息,并在用户按住控制键并按回车键时进行硬回车。 (上面的代码工作正常)我只是不知道如何为按住选项添加其他代码。请解释一下。
答案 0 :(得分:2)
您可以使用e.ctrlKey
:
$(document).ready(function(){
$('textarea').on('keypress',function(e) {
var txt=$(this).val();
if(e.which === 13 || e.which === 10) {
if (e.ctrlKey) {
// handle ctrl-ret here
} else {
//submit the form
}
}
});
});
答案 1 :(得分:1)
以下是完全符合您要求的解决方案。 JSfiddle中的代码有一些CSS来向你展示它的工作原理。当您按Enter键时,它将更改文本区域的颜色(您将用您的代码替换为提交),但是当您按Shift + Enter时,它将创建一个新行并继续编辑。
干杯:D
$(document).ready(function () {
$('textarea').on('keypress', function (e) {
var txt = $(this);
if (e.which == 13) {
e.preventDefault();
if (e.shiftKey === true) {
txt.val(txt.val() + "\n");
} else {
//Submit Code Here
}
}
});
});