Pjax不允许我在直接调用函数时将其指定为选项。

$(document).on('click', 'a.inferno-preview', function(event) {
  return $.pjax.click(event, {
    container: '#preview-overlay',
    fragment: '#preview-overlay',
    send: function() {
      return $('#preview-overlay').removeClass('hidden');
    },
    complete: function() {}
  });
});

在这种情况下,“发送”和“完成”功能没有执行,而“容器”和“片段”运行良好。为什么会这样,我需要怎么做才能使Pjax识别我的功能?

顺便说一句:我不能使用conventional form of using Pjax,我需要对事件进行更多控制,因此我需要使用$ .pjax.click对象。但是,它可以像下面这样的通用方式与这些功能一起正常工作:

$(document).pjax('a.inferno-preview', '#preview-overlay', {
    send: function() { alert('this will work.'); }
});

最佳答案

在pjax中,如果从高速缓存中检索到请求,则不会调用sendcomplete事件,因此不会降低覆盖率。而是根据您的特定用例使用successcomplete

关于javascript - 无法在pjax中为选项注册功能,我们在Stack Overflow上找到一个类似的问题:https://stackoverflow.com/questions/20357428/

10-12 06:35