Php jQuery mobile:页面导航后未触发面板打开

Php jQuery mobile:页面导航后未触发面板打开,php,jquery,ios,jquery-mobile,jquery-mobile-panel,Php,Jquery,Ios,Jquery Mobile,Jquery Mobile Panel,我正在使用jQuery mobile(1.3)创建一个移动网站 在这个网站上,我使用一个面板来显示我的菜单,通过屏幕左上角的“条”按钮或从左向右滑动(在桌面上;单击并向右移动鼠标)来激活菜单 这一切都很好,直到我导航到另一个页面。新页面使用jQuery mobile AJAX函数加载,在console.log中记录了我的panel div,因此我知道它在那里,但没有触发.panel('open')函数 我尝试了两种不同的链接方式,但没有成功: <a href="?controller=we

我正在使用jQuery mobile(1.3)创建一个移动网站

在这个网站上,我使用一个面板来显示我的菜单,通过屏幕左上角的“条”按钮或从左向右滑动(在桌面上;单击并向右移动鼠标)来激活菜单

这一切都很好,直到我导航到另一个页面。新页面使用jQuery mobile AJAX函数加载,在console.log中记录了我的panel div,因此我知道它在那里,但没有触发.panel('open')函数

我尝试了两种不同的链接方式,但没有成功:

<a href="?controller=website&action=algemeenInvoer">Algemene invoer</a>
<a href="#" onclick="$.mobile.changePage('?controller=website&action=algemeenInvoer', { transition:'slideup'} );">Algemene invoer, using mobile.changePage</a>

您所需要的只是
pageinit
中的代码,因为最后一次只触发一次

$('div[data-role="content"]').on("swiperight",function(){
 var activepage = '#' + $.mobile.activePage[0].id;
 $.event.special.swipe.horizontalDistanceThreshold = 80;
 $('activepage #menu').panel("open");
});

您需要更改页面逻辑

打开新页面时,它只是加载到DOM中的另一个页面。但是,当您尝试在第二页内打开面板时,它将尝试打开第一页面板,因为它们具有相同的属性

我已在您的页面上对此进行了测试,它正在工作:

$.mobile.activePage.find('#menu').panel("open");
证明 index.html

洛格博克
$(document).on('pageinit',function(){
$('div[data role=“content”]”)。在(“SwiperRight”,function()上{
console.log('swipe');
$.mobile.activePage.find(“#菜单”).panel(“打开”);
});
});                     
培训博客 资料: Gewicht(单位:千克): 人道主义事务协调厅: 斯拉普: 1. 2. 3. 4. 5.
second.html

培训博客 资料: 1e 2e 3e 范达格训练车。 EMI分数: 1. 2. 3. 4. 5. 6. 7. 8. 9 10 B问题: 青年成就 原姓的
它工作正常。到底是什么问题?如何打开它?在iPad和iPhone上测试。当进入网站时,它工作正常。尝试导航到另一个页面,您将看到加载页面时,滑动操作不会激活面板。但按左上角的条形图标是正确的。请使用滑动功能更新您的问题。我发现了您的问题,我会给您写一个答案。@Gajotres,期待您的解决方案!谢谢你的解决方案!它现在工作得很好,学到了一些新东西:)
$.mobile.activePage.find('#menu').panel("open");
<!DOCTYPE html>
<html>
    <head>
        <meta charset="utf-8">
        <meta name="viewport" content="initial-scale=1, user-scalable=no">
        <meta name="apple-mobile-web-app-capable" content="yes" />

        <title>Logboek</title>

        <!-- Springboard icon (retina) -->
        <link rel="apple-touch-icon" sizes="114x114" href="images/touch-icon-iphone-retina.png" />

        <!-- iPhone 4(S) startup image -->
        <link href="images/splash-screen-640x920.png" rel="apple-touch-startup-image" media="(device-height: 480px)"/>
        <!-- iPhone 5 startup image -->
        <link href="images/splash-screen-640x1096.png" rel="apple-touch-startup-image" media="(device-height: 568px)"/>

        <link rel="stylesheet" href="http://logboek.zavee.nl/public/css/theme/TEAM-WJM.css" />
        <link rel="stylesheet" href="http://code.jquery.com/mobile/1.3.1/jquery.mobile.structure-1.3.1.min.css" />
        <script src="http://code.jquery.com/jquery-1.9.1.min.js"></script>
        <script src="http://code.jquery.com/mobile/1.3.1/jquery.mobile-1.3.1.min.js"></script>
        <script>
            $(document).on('pageinit',function(){
                $('div[data-role="content"]').on("swiperight",function(){
                    console.log('swipe');
                    $.mobile.activePage.find('#menu').panel("open");
                });
            });                     
        </script>
    </head>
    <body>
        <div data-role="page" data-theme="a" id="index">
            <div data-role="panel" id="menu" data-theme="d">
                    <ul data-role="listview" data-theme="d">
                    <li><a href="second.html">Algemene invoer</a></li>
                    <li><a href="#" onclick="$.mobile.changePage('?controller=website&action=algemeenInvoer', { transition:'slideup'} );">Algemene invoer, using mobile.changePage</a></li>
                    <li><a href="?controller=website&action=trainingInvoer">Training invoeren</a></li>
                    <li><a href="#" onclick="$.mobile.changePage('?controller=website&action=trainingInvoer', { transition:'slideup'} );">Training invoeren, , using mobile.changePage</a></li>
                    <!--<li><a href="#">Overzicht bekijken</a></li>-->
                </ul>
            </div>

            <div data-role="header" data-position="inline">
                <a href="#menu" data-role="button" data-icon="bars" data-iconpos="notext" data-theme="c" data-inline="true"></a>
                <h1>Trainingslogboek</h1>
            </div>

            <div data-role="content" data-theme="a" id="content">
<form method="post" action="text.php">
    <div data-role="fieldcontain">
        <label for="datum">Datum:</label>
        <input type="date" name="datum" id="datum" />
    </div>  

    <div data-role="fieldcontain">
        <label for="gewicht">Gewicht in kg:</label>
        <input type="number" name="gewicht" id="gewicht" data-clear-btn="true" />
    </div>

    <div data-role="fieldcontain">    
        <label for="op">Ochtendpols:</label>
        <input type="number" name="op" id="op" data-clear-btn="true" />
    </div>

    <div data-role="fieldcontain">
        <fieldset data-role="controlgroup" data-type="horizontal">
            <legend>Slaap:</legend>
            <input type="radio" name="radio-choice-h-1" id="radio-choice-h-1a" value="on" />
            <label for="radio-choice-h-1a">1</label>
            <input type="radio" name="radio-choice-h-1" id="radio-choice-h-1b" value="off" />
            <label for="radio-choice-h-1b">2</label>
            <input type="radio" name="radio-choice-h-1" id="radio-choice-h-1c" checked="checked" value="other" />
            <label for="radio-choice-h-1c">3</label>
            <input type="radio" name="radio-choice-h-1" id="radio-choice-h-1d" value="other" />
            <label for="radio-choice-h-1d">4</label>
            <input type="radio" name="radio-choice-h-1" id="radio-choice-h-1e" value="other" />
            <label for="radio-choice-h-1e">5</label>
        </fieldset>
    </div>  

    <input type="submit" value="Opslaan" />  
</form>         </div> <!-- /content -->
        </div> <!-- /page -->
    </body>
</html>
        <div data-role="page" data-theme="a" id="second">
            <div data-role="panel" id="menu" data-theme="d">
                    <ul data-role="listview" data-theme="d">
                    <li><a href="?controller=website&action=algemeenInvoer">Algemene invoer</a></li>
                    <li><a href="#" onclick="$.mobile.changePage('?controller=website&action=algemeenInvoer', { transition:'slideup'} );">Algemene invoer, using mobile.changePage</a></li>
                    <li><a href="?controller=website&action=trainingInvoer">Training invoeren</a></li>
                    <li><a href="#" onclick="$.mobile.changePage('?controller=website&action=trainingInvoer', { transition:'slideup'} );">Training invoeren, , using mobile.changePage</a></li>
                    <!--<li><a href="#">Overzicht bekijken</a></li>-->
                </ul>
            </div>

            <div data-role="header" data-position="inline">
                <a href="#menu" data-role="button" data-icon="bars" data-iconpos="notext" data-theme="c" data-inline="true"></a>
                <h1>Trainingslogboek</h1>
            </div>

            <div data-role="content" data-theme="a" id="content">
<form>
    <div data-role="fieldcontain">
        <label for="datum">Datum:</label>
        <input type="date" name="datum" id="datum" />
    </div>  

    <div data-role="fieldcontain">  
        <fieldset data-role="controlgroup" data-type="horizontal">
            <legend></legend>
            <input type="radio" name="radio-choice-h-1" id="radio-choice-h-1a" data-mini="true" value="on" checked="checked" />
            <label for="radio-choice-h-1a">1<sup>e</sup></label>
            <input type="radio" name="radio-choice-h-1" id="radio-choice-h-1b" data-mini="true" value="off" disabled="disabled" />
            <label for="radio-choice-h-1b">2<sup>e</sup></label>
            <input type="radio" name="radio-choice-h-1" id="radio-choice-h-1c" data-mini="true" value="other" disabled="disabled" />
            <label for="radio-choice-h-1c">3<sup>e</sup></label>
            <input type="radio" name="radio-choice-h-1" id="radio-choice-h-1d" data-mini="true" value="other" disabled="disabled" />
            <label for="radio-choice-h-1d" style="padding-bottom:2px;">training van vandaag.</label>
        </fieldset>
    </div>   

    <div data-role="fieldcontain">
        <fieldset data-role="controlgroup" data-type="horizontal">
            <legend>EMI score:</legend>
            <input type="radio" name="radio-choice-h-2" id="radio-choice-h-2a" value="on" />
            <label for="radio-choice-h-2a">1</label>
            <input type="radio" name="radio-choice-h-2" id="radio-choice-h-2b" value="off" />
            <label for="radio-choice-h-2b">2</label>
            <input type="radio" name="radio-choice-h-2" id="radio-choice-h-2c" value="other" />
            <label for="radio-choice-h-2c">3</label>
            <input type="radio" name="radio-choice-h-2" id="radio-choice-h-2d" checked="checked" value="other" />
            <label for="radio-choice-h-2d">4</label>
            <input type="radio" name="radio-choice-h-2" id="radio-choice-h-2e" value="other" />
            <label for="radio-choice-h-2e">5</label>
        </fieldset>

        <fieldset data-role="controlgroup" data-type="horizontal">
            <legend></legend>
            <input type="radio" name="radio-choice-h-2" id="radio-choice-h-2a" value="on" />
            <label for="radio-choice-h-2a">6</label>
            <input type="radio" name="radio-choice-h-2" id="radio-choice-h-2b" value="off" />
            <label for="radio-choice-h-2b">7</label>
            <input type="radio" name="radio-choice-h-2" id="radio-choice-h-2c" value="other" />
            <label for="radio-choice-h-2c">8</label>
            <input type="radio" name="radio-choice-h-2" id="radio-choice-h-2d" value="other" />
            <label for="radio-choice-h-2d">9</label>
            <input type="radio" name="radio-choice-h-2" id="radio-choice-h-2e" value="other" />
            <label for="radio-choice-h-2e">10</label>
        </fieldset>
    </div>

    <div data-role="fieldcontain">
        <fieldset data-role="controlgroup" data-type="horizontal">
            <legend>Blessure:</legend>
            <input type="radio" name="radio-choice-h-3" id="radio-choice-h-3a" value="on" />
            <label for="radio-choice-h-3a">Ja</label>
            <input type="radio" name="radio-choice-h-3" id="radio-choice-h-3b" value="off" />
            <label for="radio-choice-h-3b">Nee</label>
        </fieldset>
    </div>
</form>         
</div> <!-- /content -->