0

こんにちは私はjavascriptで文字カウンターを書いています..このように

<textarea class="SmsText" id="txttemplate"  maxlength="160" />
<span id="charsCount">160</span></strong><span>character(s) left</span>
$(document).ready(function() {
        keypressed = false;
        $('#txttemplate').keypress(function (e) {
            keypressed = true;
        });

        $('#txttemplate').keyup(function () {
            counter($(this));
        });

        $('#txttemplate').keydown(function () {
            counter($(this));
        });

    });
function counter(obj) {
        var max = obj.attr('maxlength');
        var valLen = obj.val().length;
        obj.val(obj.val().substring(0, max));
        $('#charsCount').text(max - valLen);
    }

さて、私のコードは「Enter」キー 13 を 1 文字と見なしますが、textarea の maxlength 属性は 2 としてカウントされます。私のコードでは、「Enter」または「キャリッジ リターンが押された」ときに 2 文字をカウントするにはどうすればよいですか。

4

1 に答える 1

2

キーが押されたイベント引数を確認し、それに応じてカウンターをインクリメントできます

$('#txttemplate').live("keypress", function (e) {
    if (e.keyCode == 13) {
        //do increment here
    } 
}
于 2013-11-04T11:25:08.543 に答える