大多数时候,我会$(document).ready在页面上放一些javascript代码来做一些初始化的事情,比如事件绑定等.
但现在我想对我的一些页面使用pjax https://github.com/defunkt/jquery-pjax.
使用pjax,因为只有页面的一部分被刷新,所以$(document).ready不会再被调用.
我可以手动触发事件的初始化脚本pjax:end,但我也想知道是否有更好的解决方案.
谢谢.
Adr*_*eil 57
您可以轻松地将所有现有代码链接到document.ready和pjax:success事件,如下所示:
之前:
$(document).ready(function() {
// page load stuff
});
Run Code Online (Sandbox Code Playgroud)
后:
$(document).on('ready pjax:success', function() {
// will fire on initial page load, and subsequent PJAX page loads
});
Run Code Online (Sandbox Code Playgroud)
我认为你最好的选择可能就是按照你所说的去做,并将页面特定的初始化代码挂接到“pjax:end”事件。这样,它基本上会执行与之前相同的工作,并针对已加载到 DOM 中的任何 html 运行。
| 归档时间: |
|
| 查看次数: |
7808 次 |
| 最近记录: |