pjax刷新后如何处理绑定事件失效

在新页面中重新初始化插件/工具

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()
})
发布了155 篇原创文章 · 获赞 0 · 访问量 860

猜你喜欢

转载自blog.csdn.net/u013866352/article/details/105414060