Warning: file_get_contents(/data/phpspider/zhask/data//catemap/7/neo4j/3.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 带弹出窗口的剩余字符计数器_Javascript_Javascript Events - Fatal编程技术网

Javascript 带弹出窗口的剩余字符计数器

Javascript 带弹出窗口的剩余字符计数器,javascript,javascript-events,Javascript,Javascript Events,我的任务是创建一个计数器/限制器,当达到限制器时,它会弹出一个窗口。我制定了以下代码: $(document).ready(function() { $('#message-input').keyup(updateCounter); }); function updateCounter() { var value = $('#message-input').val(); if (value.length > 256) { alert('Túl

我的任务是创建一个计数器/限制器,当达到限制器时,它会弹出一个窗口。我制定了以下代码:

$(document).ready(function() {
    $('#message-input').keyup(updateCounter);
});

function updateCounter() {

    var value = $('#message-input').val();

    if (value.length > 256) {
        alert('Túl hosszú az üzenet!');
        return false;
    }

    var remaining = 256 - value.length;
    $('#counter').text(remaining);

    return true;
}
这段代码工作得很好,但有一个大问题:如果达到限制,我可以按任何键,即使我按backspace,窗口也会弹出。我怎样才能纠正这个问题?

试试这个:

$(document).ready(function() {
    $('#message-input').keyup(updateCounter);
});

function updateCounter(e) {
    if( $inArray(e.which, [8, 37, 38, 39, 40])) return true; // If keycode = backspace, left, top, right, bottom array, than continue.

    var value = $('#message-input').val();

    if (value.length > 256) {
        alert('Túl hosszú az üzenet!');
        return false;
    }

    var remaining = 256 - value.length;
    $('#counter').text(remaining);

    return true;
}

您可以删除最后几个字母以保持256个字符的长度,例如子字符串