我有以下代码:
$('#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
});
但是,我不想重复函数内部的所有代码(//采取行动)。它看起来效果不佳,每次我对它进行更改时我都需要编辑两次。
有什么想法吗?
提前致谢
答案 0 :(得分:12)
怎么样:
var myCoolFunction = function() {
// take action
};
$('#form_field').bind('change', myCoolFunction);
$('#button').bind('click', myCoolFunction);
...
答案 1 :(得分:3)
这应该可以解决问题:
$('#form_field').bind('change', takeAction);
$('#button').bind('click', takeAction);
function takeAction () {
//take action
};
答案 2 :(得分:0)
我不太确定找到解决方法的好方法。如果他们都做同样的事情,只需为他们做一个函数来调用所需的事件。