0

有点难以解释。但是这里的网站:

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>

要总结如何重现问题,请访问上面的链接。尝试右上角的按钮以查看侧边栏的弹出和弹出。然后输入一些随机登录信息并尝试登录。当下一页加载时,再次尝试左上角的登录按钮,现在侧栏不会出现。

有什么想法吗?

4

2 回答 2

1

据我所知,加载页面时没有具有“导航”ID 的元素。如果它是动态添加的,除非您使用 .on 将其绑定到正文,否则它将不起作用。

我将 $('#navigation') 更改为 $('.showMenu') 并且效果很好。

于 2012-10-31T01:05:01.050 回答
0

在做了更多研究之后,我发现这与在 jquery mobile 中使用 ajax 自动完成的页面刷新有关。

对我来说,一个快速的解决方法是:

data-ajax="false"

在表单元素中使用上述属性会强制刷新整个页面,从而允许我的查询调用工作。

这不是理想的解决方法,因为我仍在尝试解决这个问题。但目前这是一个快速而肮脏的修复。

于 2012-10-31T21:22:15.797 回答