在pjax完成其工作时加载脚本

loading scripts when pjax do its job

本文关键字:加载 脚本 工作 pjax      更新时间:2023-09-26

我在MVC CodeIgniter框架中有一个项目,每个视图都有它的javascript,它位于该视图的末尾。

现在,当pjax加载该页面时,它应该加载脚本,但它没有。脚本标记存在,但尚未加载,是否需要以某种方式将其加载到pjax上?

<script>
    $(document).ready(function() {
        $('body').on('change', '#grad, #adresa', function() {
            adresa = getAddress();
            marker.codeAddress(adresa);
        });
        $('#form').validator({message : ''});
        .
        .
        . // more functions

    } );
</script>

有什么帮助吗?

我有点迟到了,但对于其他人来说,这是通过谷歌发现的:

PJAX请求中加载的脚本不应该在.ready包装中,因为文档不会触发加载的事件。主文档保持不变,只替换一个片段。

这意味着您应该在PJAX请求完成后再次初始化插件和填充程序。这有时会变得棘手。

pjax:success将是一个很好的事件来倾听这样做。