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() {}
});
});
在这种情况下,"send"one_answers"complete"函数没有执行,而"container"one_answers"fragment"则运行良好。为什么会这样?我需要做些什么才能让Pjax识别我的函数?
顺便说一句:我不能使用Pjax的传统形式,我需要更多的控制,所以我需要使用$.pjax.click
对象。然而,它将以常见的方式与功能配合良好,如以下所示:
$(document).pjax('a.inferno-preview', '#preview-overlay', {
send: function() { alert('this will work.'); }
});
在pjax中,如果从缓存中检索到请求,则不会调用send
和complete
事件,因此不会降低覆盖。而是根据您的特定用例使用success
或complete
。