2011-05-17 44 views
1

无论如何要结合三个条件的“或”在jQuery中?例如,$(t_obj).keyup(function(e) || $('#sendResp').click(function(e) || $('.emo').click(function(e) {?我已经测试过将它们结合起来,但是我得到错误。如何结合他们?如何结合3个条件的“OR”在jQuery中?

回答

5

如果你想他们都称呼你可以做同样的功能:

function myEventHandler(e) { 
    //do stuff 
} 

$(t_obj).keyup(myEventHandler); 
$('#sendResp').click(myEventHandler); 
$('.emo').click(myEventHandler); 
+0

非常感谢你:) – zac1987 2011-05-17 16:38:38

2

如果您试图组合条件,事实上,您在选择器上中断了3个jQuery速记对bind()的调用。

如果您不打断要绑定的代码,那么在写入这些事件时,将会调用您编写的匿名函数。

为了获得预期的功能,请创建您的函数,并将其与这些选择器上的事件分别绑定,如其他人在此问题的答案中详细说明的那样。

5

也许这?

function doThing(){...} 

$(t_obj).keyup(doThing()); 
$('#sendResp, .emo').click(doThing()); 
+0

和......亚历克斯击败了我。给他答案的功劳。 – 2011-05-17 14:23:53

+0

您也可以在选择器中获得正确答案的+1 – 2011-05-17 14:28:23

+0

+1。尽管如此,你并没有将事件对象传递给“doThing”。 – StuperUser 2011-05-17 14:32:32