将 CR/LF 插入文本区域

Posted

技术标签:

【中文标题】将 CR/LF 插入文本区域【英文标题】:Insert a CR/LF into a textarea 【发布时间】:2011-08-06 15:04:17 【问题描述】:

我有以下代码:

document.onkeydown=function(e) 
if (e.which == 13 && isCtrl) 
   log('Ctrl CR');
 else if (e.which == 17) 
   isCtrl = true;
;

我需要在光标位于输入文本区域的位置插入回车/换行。 现在想想,我可能应该使用 textarea 选择器而不是 document.onkeydown,但是 $('textarea').onkeydown 不起作用。

【问题讨论】:

$('textarea').keydown,没有“开”。 天啊!谢谢!我对必须一起学习 js 和 jQuery 感到困惑。 【参考方案1】:
$('textarea').keydown(function (e)
    var $this = $(this);
    if (e.which === 13 && e.ctrlKey) 
        $this.val($this.val() + '\r\n'); // untested code (to add CRLF)
    
);

参考

.keydown Event object

【讨论】:

您的解决方案可能会将其添加到末尾,但如果光标位于中间怎么办? 是的,这绝对是个问题。但是,有information enough on SO already to answer that part。

以上是关于将 CR/LF 插入文本区域的主要内容,如果未能解决你的问题,请参考以下文章

将 CR/LF 保存在 json 数据中

如何从mysql将数据插入文本区域

复选框使用 Javascript 将文本插入文本区域

MSER+NMS文本区域检测

怎样在netbeans中给文本区域加图片背景

在光标位置将文本插入文本区域时出现 IE 问题