keydown не ловит текст, измененный действием удержания копии (Ctrl-V) - PullRequest
1 голос
/ 12 июля 2011

У меня есть текстовый ввод. Я хочу ограничить количество персонажей до 300. Так что я ловлю на этом событие. Но в случае, если пользователь копирует некоторый текст в буфер обмена, а затем вставляет его в текстовый ввод, нажимая и удерживая клавишу ВВЕРХ Ctrl-V (обратите внимание, что Ctrl-V удерживается, не отпускается), текст изменяется, но я могу ' t применить ограничение, пока не отпущено Ctrl-V Это факт, хотя многие способы были опробованы: onkeydown, onkeypress, onkeyup, onchange. Кто-нибудь придумывает решение? Спасибо и хорошего рабочего дня.

1 Ответ

1 голос
/ 12 июля 2011

Вы можете попробовать это (изменить ваш селектор соответственно):

//Restrict text while pasting
$("#myinput").bind('paste', function () {
    var input = $(this);
    var maxLength = input.attr("maxLength");
    setTimeout(function () {
        input.val(input.val().substring(0, maxLength));
    }, 100);

});

//Restrict text while typing
$("#myinput").live("keypress", function () {
    var maxLength = $(this).attr("maxLength");
    return $(this).val().length <= maxLength - 1;
});
Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...