链两个jquery事件

时间:2011-08-04 14:35:01

标签: jquery

如果我有一个事件处理程序,如:

function A() {
 ...
}

可以分配给多个事件:

$("#test1").keyup(A);
$("#test2").change(A);

但我想知道是否可以只用一句话来做,例如:

$("#test1").keyup, $("#test2").change (function () {
  ...
});

4 个答案:

答案 0 :(得分:3)

$("#test2").bind('keyup change', A);

/编辑不同的元素和事件 - 它是:

$("#test1, #test2").bind('keyup change', A);

$("#test1").bind('keyup', A);
$("#test2").bind('change', A);

取决于您的期望。没有更简单的方法

答案 1 :(得分:2)

是的,是的。这真是太可怕了。

$("#test1").keyup(A).parent().find("#test2").change(A);

http://jsfiddle.net/8RwZY/

还有这种暴行:

$("#test1, #test2").eq(0).keyup(A).end().eq(1).change(A);

http://jsfiddle.net/8RwZY/1/

答案 2 :(得分:0)

如果这些是相同的元素,比如#test1,那么你可以链接方法

$('#test1').change(A).keyup(A);

但是,如果有超过1个元素,则无法将它们链接起来,或者执行与您的示例类似的任何其他操作。

答案 3 :(得分:-1)

简短回答?不,答案很长?完全没有。

抱歉没有你想要的答案。但好消息是,除了这个限制之外,你的代码看起来很有用。