请您帮帮我,我找不到解决方案。我有一个带参数的函数,并希望将此函数传递给 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/