Javascript pjax;注入内容中的某些脚本在页面刷新时不起作用
基于这篇文章,我用NancyFx和pjax构建了一个应用程序: 我的基本功很好。当我点击链接时,我的内容被加载,内容中的ajax表单工作正常 但是,当我按下F5并刷新页面时,一些javascript不会运行 例如,表单包含一个div,该div在提交表单后显示,以显示成功/错误消息。当表单加载此代码时,此面板将隐藏: $'successPanel'。隐藏 如果我单击一个链接,pjax加载内容,那么成功面板将隐藏。 问题是,当我按F5并强制刷新页面时,此代码不起作用。js位于pjax注入的内容中包含的文件中,如下所示: 我在该文件中有一个console.log,在刷新页面时会调用它。但successPanel仍然可见 我的布局包含jquery和pjax脚本以及我在这里使用的表单插件: 我也在使用Bootstrap和Datatables.net。所有这些都可以很好地协同工作,非pjax版本的应用程序也可以很好地工作Javascript pjax;注入内容中的某些脚本在页面刷新时不起作用,javascript,jquery,nancy,pjax,f5,Javascript,Jquery,Nancy,Pjax,F5,基于这篇文章,我用NancyFx和pjax构建了一个应用程序: 我的基本功很好。当我点击链接时,我的内容被加载,内容中的ajax表单工作正常 但是,当我按下F5并刷新页面时,一些javascript不会运行 例如,表单包含一个div,该div在提交表单后显示,以显示成功/错误消息。当表单加载此代码时,此面板将隐藏: $'successPanel'。隐藏 如果我单击一个链接,pjax加载内容,那么成功面板将隐藏。 问题是,当我按F5并强制刷新页面时,此代码不起作用。js位于pjax注入的内容中包含
你知道我做错了什么吗?很显然,这只是DOM没有准备好的一个例子,使用它解决了这个问题: $document.readyfunction{ //隐藏成功面板 $'successPanel'。隐藏; }; 使用$document.ready是不可靠的,因为它只有在直接加载页面而不是通过pjax导航时才会被触发。