【问题标题】:Capturing and Triggering same event on Fail在失败时捕获和触发相同的事件
【发布时间】:2014-08-07 03:03:36
【问题描述】:

我想捕获一个事件并有条件地触发它。

$('#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'))?

【问题讨论】:

    标签: javascript jquery functional-programming


    【解决方案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);
        }
    });
    

    【讨论】:

      猜你喜欢
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      相关资源
      最近更新 更多