我正在使用 ratchet.js(和他们的 push.js)开发一个 Web 应用程序并且有一个非常基本的问题。我的 CSS 代码将元素放置在一页中的三列中。然后,用户可以单击导航栏按钮转到下一页。进入下一页后,用户可以搜索某些内容。对于搜索,我通过表单处理它并使用 jquery 来检测何时提交表单。但是,当提交表单时,页面会重新加载,push.js 会出现故障。当发生这种情况并且用户单击返回第一页时,我的 css 无法正常运行,因为它仍然被第二页的内容 div 包围。我的问题:有没有办法在不重新加载页面的情况下提交表单(jquery 的 event.preventDefault() 不起作用)?如果没有,是否可以使用 push.js,然后在转换完成后让页面自行重新加载?
基本代码示例:第 1 页 ----
<body>
<div class="content">
<div class="sliderBackground" id="sliderContainer" style="background: black; height: 40px; width: 100%;">
<div id="left">random left</div>
<div id="center">random center</div>
<div id="right">random Right</div>
</div>
</div>
</body>
第2页
<body>
<div class="content">
<form id="search">
<input type="search" id="searcher" placeholder="Search" style="width: 95%;">
</form>
</div>
</body>
necessary imports (jquery etc)
<script type="text/javascript">
$("#search").submit(function(event) {
event.preventDefault(); // does not do anything (push.js... reloads page)
});
</script>
重申我的问题,用户单击链接(基本代码中未显示)以使用 push.js 转到第 2 页。在第 2 页中,他们确定,页面不应该重新加载的位置(我使用 ajax 来利用搜索查询等)。当用户返回时,左、中、右 css 不再起作用。