我想抓住一个事件并有条件地触发它。
$('#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')
)?
答案 0 :(得分: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);
}
});