我正在用ratchet.js (和他们的push.js)开发一个web应用程序,并且有一个非常基本的问题。我的CSS代码将元素定位在一个页面的三列中。然后,用户可以单击导航栏按钮以转到下一页。一旦进入下一页,用户就可以搜索某些内容。对于搜索,我通过一个表单来处理它,并使用jquery来检测表单何时提交。但是,在提交表单时,页面会重新加载,push.js会出现故障。当发生这种情况时,当用户单击返回到第一个页面时,我的css不能正常工作,因为它仍然被第二个页面的content 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转到第二页。在第二页中,他们确定页面在哪里重新加载,而不应该重新加载(我正在使用ajax利用搜索查询等)。当用户返回时,左边、中间、右边的css都不起作用。
发布于 2014-07-14 17:20:38
如果您尝试执行以下操作(以return false结束):
<script type="text/javascript">
$("#search").submit(function(event) {
event.preventDefault(); // does not do anything (push.js... reloads page)
// your logic here
return false;
});
</script>发布于 2014-08-21 01:11:07
这可能有点晚了,但我认为你的问题是推送加载的页面上的脚本标记不会运行。
也就是说,您在第2页上的代码根本没有运行。
https://stackoverflow.com/questions/17258303
复制相似问题