f_u*_*_up 2 jquery arguments bind
请你能帮助我,我找不到解决办法.我有一个带参数的函数,并希望将此函数传递给jquery bind-event:
function countChars23 (chars) {
var thi = $(this);
var len = $(this).val();
if (len.length >= chars) {
len = len.substring(0, 22);
thi.val(len);
}
}
Run Code Online (Sandbox Code Playgroud)
调用该函数不起作用:
$('#name').bind('keyup', countChars23(10));
Run Code Online (Sandbox Code Playgroud)
这也不起作用:
$('#name').bind('keyup', function() {
countChars23(10);
}
Run Code Online (Sandbox Code Playgroud)
这也不起作用:
$('#name').keyup(function() {
countChars23(10);
}
Run Code Online (Sandbox Code Playgroud)
非常感谢您的帮助!
您可以使用该data参数.bind:
$('#name').bind('keyup', {chars: 10}, countChars23);
Run Code Online (Sandbox Code Playgroud)
然后在您的函数中替换声明的参数,event并将其放在第一行:
var chars = event.data.chars;
Run Code Online (Sandbox Code Playgroud)
编辑你的第二次和第三次尝试(使用额外的函数包装器)不起作用的原因是因为它们没有this正确设置.你不得不像这样调用它:
$('#name').keyup(function() {
countChars23.call(this, 10);
}
Run Code Online (Sandbox Code Playgroud)