Warning: file_get_contents(/data/phpspider/zhask/data//catemap/9/javascript/361.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
Javascript 按enter键时_Javascript - Fatal编程技术网

Javascript 按enter键时

Javascript 按enter键时,javascript,Javascript,我有一个文本区域,必须限制为100个字符,并希望每一个换行符匹配10个字符 我做了这样的事情: let计数器=0; $('textarea')。按键(功能(e){ var tval=$('textarea').val(), t长度=总长度, 设置=10, 保持=parseInt(设置-t长度); 如果(e.which==13){ 计数器++; }否则{ 计数器=0; } 如果(计数器>1){ 警报(“新行”) } $('p')。文本(保留); 如果(保持如果我理解正确,这应该有效 此代码将文本

我有一个文本区域,必须限制为100个字符,并希望每一个换行符匹配10个字符

我做了这样的事情:

let计数器=0;
$('textarea')。按键(功能(e){
var tval=$('textarea').val(),
t长度=总长度,
设置=10,
保持=parseInt(设置-t长度);
如果(e.which==13){
计数器++;
}否则{
计数器=0;
}
如果(计数器>1){
警报(“新行”)
}
$('p')。文本(保留);

如果(保持如果我理解正确,这应该有效

此代码将文本放入由
\n
分割的
textarea

因此,字符总数(不包括换行符本身)为:

  • 获取字符总数
  • 按新行拆分
  • 获取行数
  • 空行
总计数为:文本区字符数+空行数*10-新行字符

此外,在
更改
键控
粘贴
时调用该函数以避免出现问题

let计数器=0;
$('textarea')。在('change keyup paste',函数(e)上{
var text=$(“textarea”).val();
var count=text.length;
var nLine=text.split(/\n/)
变量特征线=nLine.filter(x=>x==“”)。长度
计数器=计数+(特征线*10)-(nLine.length-1)
console.log(“counter=”,counter)
//你想干什么就干什么
})


我会给你的计划添麻烦。你目前只处理
按键
。我可以用鼠标将文本粘贴到文本区域,这样就永远不会调用按键事件。你想每增加一行加10吗?还是有空行?我编辑了我的请求。非常感谢你的回答。这是我所需要的。例如,我需要在一个完整的换行符后添加10个字符(不只是一个新行,就像在我的示例中一样),所以在你的代码中我做了“拆分(/\n\n/)”。这很有效,但当我写“hello”和换行符时,我有16个字符(很好),但如果我写了一个新词,我会得到“7”如果新行不是空的,代码就不算10。这就是我理解的。这就是为什么在第一个新行中,代码计数+10,但是如果你写在这行中,那么就不要在总计数中加10(因为这行不是空的)是的,emtpy的新行是10个字符,很好。对不起,我再次编辑了我的请求,以查看我想说的内容:)对不起,我不明白,因为“hello+空行+hello”=20个字符正是我的代码的功能。哦,好的,对不起,我看得不好,非常感谢