我已根据这篇文章使用NancyFx和pjax构建了一个应用程序:
http://www.jhovgaard.com/nancy-pjax/
我的基础知识运作良好。当我点击链接时,我的内容被加载,并且该内容中的ajax表单正常工作。
但是,当我按F5并刷新页面时,某些javascript无法运行。
例如,表单包含一个div,在提交表单后显示该div以显示成功/错误消息。使用以下代码加载表单时,将隐藏此面板:
$('#successPanel').hide();
如果我点击链接并且pjax加载内容,则隐藏成功面板。 问题是,当我点击F5并强制页面刷新时,此代码不起作用。 js位于由pjax注入的内容中的文件中,如下所示:
<script type="text/javascript" src="/Content/js/formIncomeExpenses.js"></script>
我在该文件中有一个console.log,并在刷新页面时调用它。但是successPanel仍然可见。
我的布局包含jquery和pjax脚本以及我在这里使用的表单插件:
http://jquery.malsup.com/form/
我也在使用Bootstrap和Datatables.net。所有这些工作很好,应用程序的非pjax版本工作正常。
任何想法我做错了什么?
答案 0 :(得分:0)
很明显,事实证明这只是DOM没有准备好的情况,使用这个解决了问题:
$(document).ready(function() {
// hide the success panel
$('#successPanel').hide();
});