Javascript jQuery将事件作为参数发送
我想使用Javascript jQuery将事件作为参数发送,javascript,jquery,Javascript,Jquery,我想使用keyup和keydown检查输入中键入的字符数。 我以前做过,但不是作为单独的函数,它在代码中是一个很大的混乱。我用 事件当我在没有单独函数的情况下执行时,一切都很好,但现在我在通过函数发送时遇到了问题。也许这是完全错误的方法造成的,所以请给我一些建议,如何正确地做 这是我的单独功能: function char_check($input_id, $div_id, $char_max, event) { if(($char_max-$($input_id).val().le
keyup
和keydown
检查输入中键入的字符数。
我以前做过,但不是作为单独的函数,它在代码中是一个很大的混乱。我用
事件
当我在没有单独函数的情况下执行时,一切都很好,但现在我在通过函数发送时遇到了问题。也许这是完全错误的方法造成的,所以请给我一些建议,如何正确地做
这是我的单独功能:
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);
});
问题:事件不起作用。据我所知,代码不起作用,但我不确定什么不起作用。这里有一些建议。首先,我将创建一个函数来构建“check函数”。比如:
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));
var createCharCheck=函数(div\u id,char\u max){
返回函数(事件){
如果((char_max-$(this.val().length)我真的看不到这里的问题?!也许制作一个jsfiddle.net可以帮助说明您的问题。“我在通过函数发送它时遇到问题”.事件不起作用。好的-1从我这里来。一切似乎都很好。检查你的控制台奇迹!奇迹!就是这样,把你的坏代码放入stackoverflow,它会起作用的,伙计们,现在它起作用了,这不是一个玩笑!小建议..你应该始终尝试使每一段代码都可重用,这样它就不会变成“大混乱”。我的建议是只返回数字并在keydown listener中显示。这样,您也可以将其用于其他用途。或者更好的做法是,将其添加到jquery中。请参阅:$(“#chars_auth”).text($(This).getRemainingLength(e,50));
谢谢您的回答!:)