jquery - 如何将参数传递给 jquery 绑定(bind)事件?

标签 jquery arguments bind

请您帮帮我,我找不到解决方案。我有一个带参数的函数,并希望将此函数传递给 jquery 绑定(bind)事件:

function countChars23 (chars) {
    var thi = $(this);
    var len = $(this).val();
    if (len.length >= chars) {
        len = len.substring(0, 22);
        thi.val(len);

    }
}

调用该函数不起作用:

$('#name').bind('keyup', countChars23(10));

这也不起作用:

$('#name').bind('keyup', function() {
    countChars23(10);
}

这也不起作用:

$('#name').keyup(function() {
    countChars23(10);
}

非常感谢您的帮助!

最佳答案

您可以使用data参数来.bind:

$('#name').bind('keyup', {chars: 10}, countChars23);

然后在函数中将声明的参数替换为 event 并将其放在第一行:

var chars = event.data.chars;

编辑您的第二次和第三次尝试(使用额外的函数包装器)不起作用的原因是它们没有正确设置this。你必须这样调用它:

$('#name').keyup(function() {
    countChars23.call(this, 10);
}

关于jquery - 如何将参数传递给 jquery 绑定(bind)事件?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/11558263/

相关文章:

php - 更改表单以使用 jQuery 并避免页面刷新

jquery - WYMeditor的图片上传插件

linux - 如何检查参数是否包含某些单词

java android - 简单的绑定(bind)服务崩溃

jQuery UI 可排序 : is it possible to restrict possible positions of individual elements?

javascript - Google Apps 是否会阻止来自 Chrome 控制台的代码?

r - 如何在 R 中使用省略号传递参数并在另一个环境中求值

c++ - 从堆栈指针中找出函数参数值

c - 套接字编程: bind()-invalid argument

javascript - 动态更改 HTML DOM 事件