如何使用.off函数将其关闭后重新分配给.on事件

时间:2018-01-07 16:56:40

标签: javascript jquery ajax javascript-events event-handling

我点击了一个链接

$('nav').on('click', 'a', function(){...};

在beforeSend中的ajax请求中,我使用

取消订阅该事件
beforeSend: function(){
        $('nav').off('click', 'a');
      },

是否有可能再次成功重新订阅该活动?

success: function(response){
//Subscribe to click event here again
      },

1 个答案:

答案 0 :(得分:0)

好的,解决方法是在ajax请求中递归调用相同的on-click事件处理程序。我将为此提供完整的代码。

  function recursiveClickHandler(){
      var page = $(this).text().toLowerCase();
      var remove=$(".injectedPage");
      $.ajax({
        url: page,
        type:'GET',
        beforeSend: function(){
          $('nav').off('click', 'a');
        },
        success: function(){
          $('nav').on('click', 'a', recursiveClickHandler);
        }
      });
  }
  $('nav').on('click', 'a', recursiveClickHandler);