我必须在2个事件上触发一个函数。 第一个事件是keyup(我知道如何触发这个)。 第二个事件是单击特定按钮。
正如我所说,目前我知道很有可能触发第一个事件 我使用以下代码:
emailPartner.on('keyup', function () {
emailPartner.parent().removeClass('error-sign-up');
$('.server').remove()
}
如何在两个事件上触发?
答案 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() {
...
}) ;