0

次の Jquery 検証では、テキストを最大長 400 に制限しています。プレーンテキストではうまく機能しますが、改行、スペースなどの書式を含む単語から貼り付けると機能しないようです..? =

$('textarea[maxlength]').keyup(function(){
                //get the limit from maxlength attribute
                var limit = parseInt($(this).attr('maxlength'));
                //get the current text inside the textarea
                var text = $(this).val();
                //count the number of characters in the text
                var chars = text.length;

                //check if there are more characters then allowed
                if(chars > limit){
                    //and if there are use substr to get the text before the limit
                    var new_text = text.substr(0, limit);

                    //and change the current text with the new text
                    $(this).val(new_text);
                }
4

1 に答える 1

0

これを試して...

function validateLength(textareaElement) {
    // your logic here, use textareaElement instead of $(this)
}
$('textarea[maxlength]').keyup(function(eventObject) {
    window.setTimeout(function() {
        validateLength($(eventObject.target));
    , 1);
});

keyup イベントの「内部スコープをエスケープ」し、textareaElement の正しい文字列値を取得するには、1 ミリ秒のタイムアウトで十分です。

于 2013-04-01T20:18:33.183 に答える