有点难以解释。但是在这里有网站:
http://beerportfolio.com/mobile/
左上角的按钮打开侧栏导航。
当用户输入登录信息时,页面会使用以下代码调用自身:
<h5>Sign In</h5>
<form name=\"input\" action=\"index.php\" method=\"post\">
User Name: <input type=\"text\" name=\"user\" id=\"user\" />
</p>
Password: <input type=\"password\" name=\"password\" id=\"password\" />
<div class=\"blank-divider\"></div>
<p>
<input type=\"submit\" name = \"login\" value=\"login\" />
</p>
</form>
当页面调用自己成功登录或登录失败时,幻灯片不会再打开。
以下是jquery的代码:
<!--Toggle Menu-->
<script type="text/javascript">
$(function() {
$('#navigation').click(function() {
$('.navigation').slideToggle('fast');
return false;
});
});
</script>
总结如何重现问题请转到上面的链接。尝试右上角的按钮,看到侧边栏弹出和弹出。然后输入一些随机登录信息并尝试登录。当下一页加载时再次尝试左上角的登录按钮,现在侧栏不会出现。
这里有什么想法吗?
答案 0 :(得分:1)
据我所知,加载页面时没有带有“导航”ID的元素。如果它是动态添加的,除非你使用.on将它绑定到正文,否则它将无效。
我为$('。showMenu')更改了$('#navigation')并且效果很好。
答案 1 :(得分:0)
在做了一些研究之后,我发现这与jquery mobile中自动使用ajax完成的页面刷新有关。
快速解决这个问题的原因是:
data-ajax="false"
在表单元素中使用上面的属性会强制整页刷新,从而允许我的查询调用工作。
这不是理想的解决方案,因为我仍然想要解决这个问题。但是现在这是一个快速而肮脏的解决方案。