2014-06-17 27 views
0

我想捕獲一個事件並有條件地觸發它。捕獲並觸發相同的事件失敗

$('#next, #prev, .qpn').click(function(event){ 
    if (status[0]){ 
     submit_quiz($(currQ), 0); 
    } 
    else{ 
     setTimeout(function(){$("body").trigger(event);}, 5000); 
    } 
}); 

我正在觸發,但沒有被觸發。我需要指定元素上的事件實際上是被稱爲像這樣:

$('#next').trigger("click") 

如何獲取有關該事件的原名(在我的情況$('#next')$('#prev')$('.qpn'))的元素?

回答

1

,你可以得到這樣的元素:

$('#next, #prev, .qpn').click(function(event){ 
    var that=$(this); 
    ... 

,然後觸發它像這樣:

that.trigger('click'); 

使你的代碼應該是這樣的:

$('#next, #prev, .qpn').click(function(event){ 
    var that=$(this); 
    if (status[0]){ 
     submit_quiz($(currQ), 0); 
    } 
    else{ 
     setTimeout(function(){that.trigger('click');}, 5000); 
    } 
}); 
相關問題