我想捕获一个事件并有条件地触发它。
$('#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')
) ?
最佳答案
你可以这样获取元素:
$('#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);
}
});
关于javascript - 失败时捕获并触发同一事件,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/24258080/