jQuery .focus()不会在每个表单元素上触发

时间:2017-09-16 20:30:14

标签: jquery

我有一个包含多个<input>字段的表单。我希望在每个人都“参与”时运行一个javascript函数,所以jQuery的.focus()似乎就是这样做的。

...运行

$('input').focus(change_submit_button_state(form_id, form_elements_id_array));

只运行change_submit_button_state函数一次。

这里出了什么问题?

1 个答案:

答案 0 :(得分:0)

如果你想传递参数

,你需要一个匿名函数
$('input').focus(function() {
    change_submit_button_state(form_id, form_elements_id_array);
});

或者如果您不需要参数

$('input').focus(change_submit_button_state);

当你在一个函数后添加括号时,你调用它并返回结果,所以你正在做的更像是

var x = change_submit_button_state(form_id, form_elements_id_array); 
//        ^ probably returns "undefined", unless you've specified someting else

$('input').focus(x); // still undefined