jQuery:在按Enter键时在光标位置添加换行符

use*_*510 5 html javascript jquery textarea cursor-position

我有一个带textarea(id = details)的表单.

有没有办法<br />在这个textarea中点击Enter时在光标位置插入换行符()的HTML代码?

我只需要这个就可以在IE中工作了.

<textarea class="input height120 elastic span12" name="details" id="details" onkeyup="countCharLimit(event)" onpaste="countCharLimit(event)"></textarea>
Run Code Online (Sandbox Code Playgroud)

web*_*eno 6

试试这个:

$('textarea').keypress(function (e){
    if(e.keyCode == 13){
        $('textarea').val($('textarea').val()+"<br />");
    }
});
Run Code Online (Sandbox Code Playgroud)

你可以尝试在这里摆弄它

编辑:我意识到这只是<br />在最后添加一个,经过一些更多的研究,我找到了这个解决方案:

$('textarea').keypress(function (e){
    if(e.keyCode == 13){
        e.preventDefault();
        this.value = this.value.substring(0, this.selectionStart)+"<br />"+"\n";
    }
});
Run Code Online (Sandbox Code Playgroud)

这是一个小提琴

源(主要):使用jQuery将文本插入textarea

再次编辑:看起来OP希望最后的文本也被清除,所以我相应地更新了我的代码(对于其他人看到这个:查看我的相关小提琴的第一个编辑,以便你想保留其余的文本).