无法在pjax中注册选项功能

Max*_*rev 6 javascript jquery javascript-events pjax

在直接调用函数时,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() {}
  });
});
Run Code Online (Sandbox Code Playgroud)

在这种情况下,'send'和'complete'函数没有被执行,而'container'和'fragment'运行良好.为什么这个以及我需要做些什么来让Pjax识别我的功能?

顺便说一句:我不能用使用Pjax的常规形式,我需要对发生更多的控制,所以我需要使用$ .pjax.click对象.然而,它将以常见的方式与函数一起正常工作,如下所示:

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

zam*_*ber 0

在 pjax 中sendcomplete如果从缓存中检索请求,则不会调用事件,因此您不会获取覆盖层。相反,请根据您的特定用例使用success或。complete