1

こんにちは、HTML ページにテキスト領域があり、span タグを使用してその長さを表示しています

html コード:

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

そして、スパンタグの長さを表示するためにいくつかのjqueryを使用しています

jqueryコード:

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

私の問題は次のとおりです。

  • キーボードの ENTER ボタンを押さずにテキストエリアに 160 文字を入力すると、正しい結果 (160/160) が表示されます。
  • しかし、テキストエリア内で ENTER ボタンを 1 回使用すると、159 文字 (159/160) しか入力できません。
  • テキストエリア内で ENTER ボタンを 2 回使用すると、158 文字 (158/160) しか入力できません。
  • テキストエリア内で ENTER ボタンを 3 回使用すると、157 文字 (157/160) しか入力できません。
  • 等々....

私のコードに何か問題がありますか、それとも何か間違ったことをしていますか? 助けてください........

4

2 に答える 2

1

これは、1 つのエンター キーが、テキスト エリアに入力された 2 つの英数字キーに相当するためです。160文字のうち5回エンターキーを入力すると、あと150文字入力できます。 (150(英数字)+10(エンターキー5*2)=160文字)

ただし、長さを使用して「Enterキー」を数えている間、1つだけが返されます。

于 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 に答える