我对使用jQuery替换文本框中的某些字符产生了疑问并且我登陆in this question.接受的答案提示如下:
$("#mySelector").val(function(i, v) { //i, v... where they come from??
return v.replace("#","Custom Text");
});
这很好但我仍然有同样的怀疑。这些参数i
和v
。他们来自哪里以及他们如何充满数据?他们没有在任何地方宣布。在这种情况下,i
和v
如何拥有我需要的数据?
These answers谈论它,但它似乎只是一个过于复杂的解释,应该是什么,一个简单的解释。
所以,问题很简单。世界上那些参数在匿名函数中如何填充数据。如果我没有在任何地方宣布它们,它们来自哪里?
答案 0 :(得分:4)
当jQuery库调用回调时,它们被设置。请注意,您将函数作为参数传递给$.val
函数。 $.val
函数将值传递给传递给它的函数。
以下是回调如何工作的简单示例:
function coolFunction(callback) { // accepting callback
// extra processing here
callback(1, 2); // calling the callback
}
coolFunction(function(a, b) { // passing function as callback
console.log('annonymous', a, b);
});

答案 1 :(得分:0)
jQuery函数val
检查传入其中的参数。当它找到一个函数时,它会为选择器中包含的每个元素调用它,其中i是选择器中元素的索引,而v是值...即元素的值。