Javascript 在失败时捕获和触发同一事件
我想捕获一个事件并有条件地触发它Javascript 在失败时捕获和触发同一事件,javascript,jquery,functional-programming,Javascript,Jquery,Functional Programming,我想捕获一个事件并有条件地触发它 $('#next, #prev, .qpn').click( function(event){ if (status[0]){ submit_quiz($(currQ), 0); } else{ setTimeout(function(){$( "body" ).trigger( event );}, 5000); } }); 我正在触发,但没有被触发。我是否需要指定实际调用事件的元素,如下所示:
$('#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').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);
}
});
如何获取最初调用事件的元素(在我的例子中是
$('next')
或$('prev')
或$('.qpn')
)?可以获得如下元素:
$('#next').trigger("click")
$('#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);
}
});
然后像这样触发它:
$('#next').trigger("click")
$('#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);
}
});
因此,您的代码应该如下所示:
$('#next').trigger("click")
$('#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);
}
});