如何取消pjax事件?

时间:2012-10-04 12:37:28

标签: jquery javascript-events pjax event-propagation

我以这种方式使用pjax(来自https://github.com/defunkt/jquery-pjax):

  

两个。略显突兀,传递容器并绑定错误   处理程序:

<a href='/explore' class='js-pjax'>Explore</a>

$('#main').pjax('.js-pjax').on('pjax:error', function(e, xhr, err) {
  $('.error').text('Something went wrong: ' + err)
})

在某些情况下,我的链接可能有一个类,应阻止链接通过<a href='/explore' class='js-pjax no-link'>Explore</a>

以及阻止它的代码:

$('body').on('click', 'a.no-link', function() {
    return false;
});

我的问题是:在这种情况下,返回false / preventDefault不会阻止pjax触发。

如果'js-pjax'链接也有类('no-link'),如何停止pjax的任何建议?

1 个答案:

答案 0 :(得分:0)

您可以通过修改初始PJAX调用来阻止PJAX跟踪.no-link元素。

$('#main').pjax('.js-pjax:not(.no-link)').on('pjax:error', function(e, xhr, err) {
    $('.error').text('Something went wrong: ' + err)
})