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中,如果从高速缓存中检索到请求,则不会调用send
和complete
事件,因此不会降低覆盖率。而是根据您的特定用例使用success
或complete
。
关于javascript - 无法在pjax中为选项注册功能,我们在Stack Overflow上找到一个类似的问题:https://stackoverflow.com/questions/20357428/