Jquery 合并事件-事件处理程序传递

Jquery 合并事件-事件处理程序传递,jquery,Jquery,我一辈子都想不出你会怎么做: $("select").change(function() { var cb = $(this).parent().next().find("input[type=checkbox]"); $(this).val().length > 0 ? cb.attr('checked', true) : cb.attr('checked', false) }); $("input[type=text]").keyup(function() { var c

我一辈子都想不出你会怎么做:

$("select").change(function() {
  var cb = $(this).parent().next().find("input[type=checkbox]");
  $(this).val().length > 0 ? cb.attr('checked', true) : cb.attr('checked', false) 
});
$("input[type=text]").keyup(function() {
  var cb = $(this).parent().next().find("input[type=checkbox]");
  $(this).val().length > 0 ? cb.attr('checked', true) : cb.attr('checked', false) 
});
作为一项功能。我真的不喜欢重复,尤其是当他们做完全相同的事情时


我的jQuery绝地技能并不适合这种情况。

首先声明函数:

function myFunc() {
   var cb = ...
}
然后添加作业:

$('select').change(myFunc);
$('input[type=text]').keyup(myFunc);

太容易了。我失败了,因为我正在做
$('select')。我相信更改(myFunc())
。谢谢乡绅!啊,对。这将立即执行
myFunc
,并尝试将myFunc的返回值传递给更改侦听器。