gpt4 book ai didi

javascript - 长度没有返回正确的值

转载 作者:行者123 更新时间:2023-11-30 17:58:45 26 4
gpt4 key购买 nike

我有以下代码:

$(document).ready(function (e) {

$('#input').keydown(function (e)
{
var inpData_lenght = $(this).val().length+1;
var max_length = 15;
if (inpData_lenght >= max_length)
{
if (inpData_lenght > max_length)
{
if ((e.keyCode != 8) && (e.keyCode != 46))
{
e.stopImmediatePropagation();
e.preventDefault();
}
}

$(this).css({'background-color': '#ff8080'});
}
else
{
$(this).css('background-color', '');
}
});
});

HTML:

<textarea id="input"></textarea>

(fiddle)

当有 max_length-1 个字符时,textarea 不会将背景更改回白色,但只有 max_length-3 个字符时,是否有任何解决方法?我知道它与退格键有关,或者与算作字符的删除有关。

编辑:我只能使用 keydown,因为这是插件支持的唯一与键相关的回调。

最佳答案

最好使用 keyup() 而不是 keydown() 因为您将获得结果输入值。如果长度超过最大值,只需将输入值替换为前一个。 http://jsfiddle.net/9Ed8h/

$(document).ready(function (e) {

$('#input').keyup(function (e)
{
var inpData_lenght = $(this).val().length;
var max_length = 15;
if (inpData_lenght >= max_length)
{
if (inpData_lenght > max_length)
{
$(this).val(this.lastValue);
}

$(this).css({'background-color': '#ff8080'});
}
else
{
$(this).css('background-color', '');
}
this.lastValue = $(this).val();
});
});

关于javascript - 长度没有返回正确的值,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/17546631/

26 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com