我想使用keyup
和keydown
检查输入中输入字符的数量。
我之前已经完成了它,但不是单独的功能,它在代码中是一个很大的混乱。我用
event
当我在没有单独功能的情况下完成它时,一切都很好,但现在我遇到了通过函数发送它的问题。也许这是由完全错误的方法造成的,所以请给我一些建议,如何正确地做。
这是我的独立功能:
function char_check($input_id, $div_id, $char_max, event)
{
if(($char_max-$($input_id).val().length)<=0)
{
var key = event.keyCode || event.charCode;
if(key!=8)
{
event.preventDefault();
}
}
if(($char_max-$($input_id).val().length)<0)
{
$($div_id).text("Your data will be cut short!");
}
else
{
$($div_id).text($char_max-$($input_id).val().length);
}
}
这就是我调用此函数的方式:
$('input[name=author]').keydown(function(e){
char_check($(this), "#chars_auth", 50, e);
});
问题:事件不起作用。
答案 0 :(得分:0)
据我所知,代码不起作用,但我不确定什么不起作用。以下是一些建议。首先,我将创建一个函数来构建您的&#34;检查函数&#34;。类似的东西:
var createCharCheck = function (div_id, char_max) {
return function (event) {
if ((char_max - $(this).val().length) <= 0) {
var key = event.keyCode || event.charCode;
if(key != 8) {
event.preventDefault();
}
}
if((char_max - $(this).val().length) < 0) {
$(div_id).text("Your data will be cut short!");
} else {
$(div_id).text(char_max - $(this).val().length);
}
}
}
$('input[name=author]').keydown(createCharCheck('#chars_auth', 50));
这不是花哨,但保存一些代码并利用关闭。现在您有一个可以在任何输入上使用的功能。希望这会有所帮助。