0

我有以下代码:

$('#form_field, #button').bind('change click', function() {
// take action
});

它工作正常。但是,我想在 '#form_field' 使用 'change' 和 '#button' 使用 'click' 时触发相同的操作(而不是在 '#form_field' 使用 'click' 时)。

我知道可以使用以下代码来完成:

$('#form_field').bind('change', function() {
// take action
});

$('#button').bind('click', function() {
// take action
});

但是,我不想重复函数内部的所有代码(// 采取行动)。它看起来无效,每次对其进行更改时,我都需要对其进行两次编辑。

有任何想法吗?

提前致谢

4

3 回答 3

12

怎么样:

var myCoolFunction = function() {
  // take action
};
$('#form_field').bind('change', myCoolFunction);
$('#button').bind('click', myCoolFunction);

??

于 2009-12-01T13:41:14.713 回答
3

这应该可以解决问题:

$('#form_field').bind('change', takeAction);

$('#button').bind('click', takeAction);

function takeAction () {
    //take action
};
于 2009-12-01T13:50:46.877 回答
0

我不太确定找到解决此问题的方法是否是个好主意。如果他们都做同样的事情,只需为他们创建一个函数来调用所需的事件。

于 2009-12-01T13:42:49.700 回答