在新页面中重新初始化插件/工具
pjax的特点是它不会刷新页面即可获取并插入新内容。但是,如果其他jQuery插件(或库)为页面内容绑定了加载事件(如DOMContentLoaded),那么这些事件是无效的。 比较常用的一种做法是,在更新的页面内容范围内,重新初始化插件。
$(document).on('ready pjax:end', function(event) {
$(event.target).initializeMyPlugin()
})
该方法可以让$.fn.initializeMyPlugin()
在页面普通加载和pjax加载时(点击链接或浏览器前进后退按钮之后)都能被调用。
详情可以参见来源文档
摘自:在新页面中重新初始化插件/工具
指定元素的刷新监听
如果你知道pjax的重新加载区域的元素,如下的触发事件来达到你的目的。这种方式,也可以处理你的对弹窗的处理
$('#pjax-container').on('pjax:send', function() {
$('#loading').show()
})
$('#pjax-container').on('pjax:complete', function() {
$('#loading').hide()
})