PJAX多个容器
PJAX Multiple Containers
本文关键字:PJAX 更新时间:2023-09-26
如何创建一个可以有多个容器的Pjax?我在这个链接上尝试了这个Pjax:
https://github.com/defunkt/jquery-pjax/blob/master/README.md
这是我的代码:
$(document).pjax('a', '#pjax-container, #pjax-navbar');
但它不起作用。
然后我尝试了这个代码:
$(document).pjax('a', '#pjax-container');
$(document).pjax('a', '#pjax-navbar');
它也不起作用。它只加载最后一个。
我该如何让它发挥作用?
这是我的HTML
<div class="wrap">
<nav id="w0" class="navbar-inverse navbar-fixed-top navbar" role="navigation" id="pjax-navbar">
<div class="container">
<div class="navbar-header">
<button type="button" class="navbar-toggle" data-toggle="collapse" data-target="#w0-collapse"><span class="sr-only">Toggle navigation</span>
<span class="icon-bar"></span>
<span class="icon-bar"></span>
<span class="icon-bar"></span></button><a class="navbar-brand" href="/josh/cms_template/backend/web/">My Company</a></div>
<div id="w0-collapse" class="collapse navbar-collapse">
<ul id="w1" class="navbar-nav navbar-right nav">
<li class="active"><a href="/josh/cms_template/backend/web/site/index">Home</a></li>
<li><a href="/josh/cms_template/backend/web/site/logout" data-method="post">Logout</a></li>
</ul>
</div>
</div>
</nav>
<div class="container" id="pjax-container">
<div class="site-index">
this is my content
</div>
</div>
</div>
我只想在转到另一个页面时,只有pjax容器会发生更改。
我已经做到了。但是导航栏没有改变。
Pjax没有多个容器。
要将相同的响应复制到其他pjax容器,可以像这样使用pjax完整事件处理程序。
从页面中删除/禁用现有的pjax代码:
//Remove Code
//$(document).pjax('a', '#pjax-container');
//$(document).pjax('a', '#pjax-navbar')
//$(document).pjax('a', '#pjax-container, #pjax-navbar');
// Add this Code
$(document).on('pjax:complete', function(event) {
//This code will copy #pjax-container container's response
// to #pjax-navbar when event is completed.
$('#pjax-navbar').html( $('#pjax-container').html() );
});
您可以添加两个href相同但id不同的链接。并将pjax连接到它们中的每一个:
$(document).pjax('a#pjax-link-container', '#pjax-container');
$(document).pjax('a#pjax-link-navbar', '#pjax-navbar');
$(document).pjax('a', '#pjax-container');
$(document).on('pjax:clicked', function(options) {
$.pjax.reload('#pjax-container', {
fragment: '#pjax-container',
timeout: 5000,
scrollTo: false
})
});
相关文章:
- PJAX请求完成并下载资产后的回调
- 在pjax完成其工作时加载脚本
- PJAX:记住其他对象状态
- pjax仍然进行完整页面的重新加载
- smoothstate.js和pjax有区别
- PJAX与PHP-不工作
- 使用PJAX调用时,LESS文件未进行解析
- 无法为pjax中的选项注册函数
- Pjax.页面上的其他JS脚本不会;不起作用
- 如果满足条件,请防止用PJAX替换html内容
- Pjax并在特定页面上重新加载JavaScript
- 如何使pjax:postate像一个简单的pjax调用一样工作
- 如何将历史.js与jquery.pjax集成
- 以即时点击样式执行 PJAX 调用(仅在链接悬停时加载所需的内容)
- PJAX 的 Laravel 路由行为与预期不符
- 是否可以执行使用 pjax 检索到的 Javascript 代码
- jQuery 选择没有任何 JS 事件链接的链接,以便 PJAX 仅处理链接
- 使用 pjax 时幻灯片放映运行不佳
- pjax losing the rails javascript
- 无法在 pjax 请求上使用 jQuery 操作 HTML 元素