1

嗨,我的 html 页面中有一个文本区域,我正在使用 span 标签来显示它的长度

html代码:

<textarea cols="50" rows="10" maxlength="160"  id="main_text"></textarea><br/>
<span class="charno">0</span>/160

我正在使用一些 jquery 来显示 span 标签中的长度

jQuery代码:

$("#main_text").keyup(function(){
      $(".charno").html($("#main_text").val().length);
});

我的问题是:

  • 当我在文本区域中输入 160 个字符而不按键盘上的 ENTER 按钮时,它显示正确的结果(160/160)。
  • 但是当我在文本区域内使用 ENTER 按钮 1 次时,我只能输入 159 个字符(159/160)。
  • 当我在文本区域内使用 ENTER 按钮 2 次时,我只能输入 158 个字符(158/160)。
  • 当我在文本区域内使用 ENTER 按钮 3 次时,我只能输入 157 个字符(157/160)。
  • 等等....

我的代码有什么问题还是我做错了什么请帮助......

4

2 回答 2

1

这是因为一个回车键相当于在文本区域输入的两个字母数字键。如果您在 160 个字符中输入 5 次“输入键”,那么您可以再输入 150 个字符。(150(字母数字)+ 10(输入键 5*2)= 160 个字符)

但是在使用长度计算“输入键”时,它只会返回一个。

于 2013-04-01T09:30:03.570 回答
0

它应该算 1 输入,如果仍然将输入作为长度 2 请使用以下技巧

$("#main_text").keyup(function(e){
var code = e.keyCode;

if (code == 13)
{

var code = e.keyCode;

var l = $("#main_text").val().length;

$(".charno").html(l-1)
}
$(".charno").html($("#main_text").val().length);
});
于 2013-04-01T11:12:30.127 回答