当用户使用 shift+enter 提交时如何创建一个新的文本区域?

How to create a new textarea when the user uses shift+enter for the submit?

我有一些这样的代码:

$(document).keypress(function(e){
    if(e.shiftKey && e.keyCode == 13){
        console.log(e)
        executeScript();
        //$document.createElement("#textarea");
        //if (error) {
        //    return false;
        //} if (correctly executed) {
        //    create new box
        //    return true;
        //}
        return false;
    }
})

行$document.createElement("#textarea");只扩展一行,但我想在用户使用 shift+enter 提交时创建另一个文本区域。

此外,为了禁止用户多次提交并创建多个未使用的文本区域,我可以只关注活动文本区域(光标所在的位置)吗?

这是一个fiddle

您可以从事件中获取元素的 ID,如:

event.target.id

并且使用Jquery创建新的文本区域更容易。

$(document).keypress(function(e){
    if(e.shiftKey && e.keyCode == 13){
        alert(e.target.id)
        //executeScript();
        var textArea = $('<textarea rows="2" cols="20" id="four"></textarea>');
        $("#contnr").append(textArea);
        //$document.createElement("#textarea");
        //if (error) {
          //  return false;
        //} if (correctly executed) {
          //  create new box
           // return true;
        //}
        return false;
    }
})

希望对您有所帮助=]

var btn = document.createElement("textarea");
document.body.appendChild(btn);