jQuery多个事件触发相同的功能(第二个事件包括特定元素)

时间:2015-04-19 10:02:08

标签: jquery events

我必须在2个事件上触发一个函数。 第一个事件是keyup(我知道如何触发这个)。 第二个事件是单击特定按钮。

正如我所说,目前我知道很有可能触发第一个事件 我使用以下代码:

emailPartner.on('keyup', function () {
    emailPartner.parent().removeClass('error-sign-up');
    $('.server').remove()
}

如何在两个事件上触发?

4 个答案:

答案 0 :(得分:1)

通过将以空格分隔的事件作为第一个参数添加到on

,可以向元素添加多个事件侦听器
$('#emailPartner, #myButton').on('keyup click', function () {
    emailPartner.parent().removeClass('error-sign-up');
    $('.server').remove();
});

假设您的input ID是emailPartner,而button ID是您要触发这些事件的myButton。

请参阅jQuery文档:http://api.jquery.com/on/

答案 1 :(得分:0)

你可以这样做,如果你没有在事件中指定一个函数,它会触发它:

emailPartner.on('keyup',function(){
    emailPartner.parent().removeClass('error-sign-up');
    $('.server').remove()
}).click(function(){
    $(this).keyup();
});

或者在另一个答案中提到,您可以使用on():

为函数设置多个事件
emailPartner.on('click,keyup',function(){ //...

答案 2 :(得分:0)

你有两个元素,每个元素都有不同的事件,对吗?

获取事件处理程序并将其放在自己的函数中,并将其作为两个事件的处理程序附加。

var emailPartner = $('...'),
    myButton = $('...');

function myEventHandler() {
  emailPartner.parent().removeClass('error-sign-up');
  $('.server').remove()
}

emailPartner.on('keyup', myEventHandler);
myButton.on('click', myEventHandler);

答案 3 :(得分:0)

您可以尝试以下代码:

emailPartner.on({
keyup:function () {...}, 
click:function() {....} 
}) ;

更新:

emailPartner.on('event1 event2 event3', function() {
...
}) ;