3

我有一个带有两个 Jquery Mobile 页面的 HTML 文件

<!-- Home Page -->
    <div data-role="page" id="home">
    <div data-theme="a" data-role="header">
        <h1>FortiSizer</h1>
    </div>

    <div data-role="content">
            <div id="myForm"></div>
            <a id="sizeit" data-role="button" data-theme="a" data-inline="false">Size It</a>
        <script type="text/javascript">
                jQuery("#home").on('pageinit', function(event, data) {
                 jQuery("#sizeit").on("click",function(e){
                    sizeItClick();
                    return false;
                });
            });
        </script>
    </div>
</div>

    <!-- Product Page -->
<div data-role="page" id="productInfo">
    <div data-theme="a" data-role="header">
        <a id="back" data-role="button" data-inline="true" data-direction="reverse" data-rel="back" data-transition="slide" data-icon="arrow-l" data-iconpos="left" class="ui-btn-left">Back</a>
        <h1 id="productName"></h1>
    </div>

        <div data-role="content">
                 <div id="detail"></div>
            </div>
    </div>

在头部我有以下代码

<script type="text/javascript">
        jQuery(document).on('pagecreate', function(event, data) {
            generatePageForm();
        });
</script>

这会在主页中生成一个表单。主要思想是在用户从选择元素中选择模型后显示产品详细信息(产品页面)。一切正常,两次!

生成表单,单击“sizeIt”按钮,加载产品详细信息页面,单击该页面上的返回按钮,然后返回主页。但是当我第三次这样做时,sizeit 按钮停止工作,并且产品页面没有出现。我究竟做错了什么?

4

1 回答 1

0

可能是使用后退按钮后没有触发 pageinit 事件,请尝试使用 pageshow 代替:(jQuery mobile 的 pageinit 导致导航返回时出现问题

jQuery("#home").on('pageshow', function(event, data) {
             jQuery("#sizeit").on("click",function(e){
                sizeItClick();
                return false;
            });
        });
于 2013-11-07T19:51:14.320 回答