无法在 jQuery Mobile 中以编程方式打开面板或弹出窗口

2024-01-07

我正在构建我的第一个 JQM 网站,所以我认为我错过了一些简单的小事情,这给我带来了很多问题。

我已经设置了页面、页眉、内容和页脚以及菜单面板。然后我有一个 js 文件,其中包含以下内容:

$(document).on('pageinit', function (event) {

alert('this works every time you navigate to another page');
$("#menu-panel").panel("open");//this works the first time only
$("#new-lump-sum").popup("open");//this never works

});

谁能告诉我为什么每次导航到另一个页面时都会出现这种行为,而不是面板和弹出窗口?

我也无法从浏览器控制台以编程方式打开它们(使用 Chrome)

这是我的 HTML:

<!DOCTYPE html>

<html lang="en">
<head>
    <meta charset="utf-8" />
    <meta name="viewport" content="width=device-width, initial-scale=1">

    <title>Cashflow - IFA Portal</title>

    <link href="/favicon.ico" rel="shortcut icon" type="image/x-icon" />

    <link href="/Styles/jquery.mobile-1.3.1.min.css" rel="stylesheet" />
    <link href="/Styles/System.css" rel="stylesheet" />

    <script src="/Scripts/jquery-1.7.1.min.js"></script>

    <script src="/Scripts/jquery.mobile-1.3.1.min.js"></script>
    <script src="/Scripts/highcharts.js"></script>
    <script src="/Scripts/System.js"></script>
</head>
<body class="computer android">
    <div id="page-wrapper">
        <div data-role="page" class="page ui-responsive-panel"><!-- Start Page -->
               <div data-role="panel" id="menu-panel" data-position="left" data-display="reveal" data-theme="a" data-dismissible="false" class="">
        <ul data-role="listview" data-filter="true" data-filter-placeholder="Search Items..." data-theme="a" data-filter-theme="a">
            <li><a href="/"><img src="/Images/Icons/home.png" alt="" class="ui-li-icon"/>Home</a></li>
            <li><a href="/Tools"><img src="/Images/Icons/icon.png" alt="" class="ui-li-icon"/>Tools</a></li>
            <li><a href="/Tools/Cashflow"><img src="/Images/Icons/icon.png" alt="" class="ui-li-icon"/>Cashflow</a></li>
            <li><a href="/Client"><img src="/Images/Icons/icon.png" alt="" class="ui-li-icon"/>Clients</a></li>
            <li><a href="/Proposal"><img src="/Images/Icons/icon.png" alt="" class="ui-li-icon"/>Proposals</a></li>
            <li><a href="/Fund"><img src="/Images/Icons/icon.png" alt="" class="ui-li-icon"/>Funds</a></li>
        </ul>
    </div>
                <div id="header" data-role="header" data-theme="d">
        <div id="top-border"></div>
        <div class="floatleft">
            <a href="#menu-panel" title="Menu" id="menu-button" data-role="button" data-icon="grid" data-inline="true" data-iconpos="notext"></a>
        </div>
        <div id="logo">
            <img src="/Images/AllanGray-Logo.png" />
        </div>

        <div class="floatleft header-toolbar" data-role="controlgroup" data-type="horizontal">
            <a href="#right-panel" data-role="button" data-icon="star" title="Favourites">Favourites</a>
            <a href="#right-panel" data-role="button" title="Notes"><img src="/Images/Icons/179-notepad.png" class="ui-li-icon small-icon" />Notes</a>
            <a href="#display-options" data-role="button" data-rel="popup" data-position-to="window" data-icon="gear" title="Display Options">Display Settings</a>
        </div>


        <div id="logout">
            <section id="login">
                        <a href="/Account/Login" data-role="button" data-inline="true" data-mini="true" data-style="b">Log In</a>

            </section>   
        </div>

        <div id="display-options" data-role="popup" class="ui-content">
            <a href="#" data-rel="back" data-role="button" data-theme="a" data-icon="delete" data-iconpos="notext" class="ui-btn-right">Close</a>
            <form>
                <fieldset id="theme-options" data-role="controlgroup" data-mini="true" data-type="horizontal">
                    <legend>Theme</legend>
                        <input type="radio" name="theme" id="theme-1" value="android" checked="checked" />
                        <label for="theme-1" class="theme-option">Android</label>

                        <input type="radio" name="theme" id="theme-2" value="apple"  />
                        <label for="theme-2" class="theme-option">Apple</label>

                        <input type="radio" name="theme" id="theme-3" value="windows"  />
                        <label for="theme-3" class="theme-option">Windows</label>
                </fieldset>
                <br />
                <fieldset id="size-options" data-role="controlgroup" data-mini="true" data-type="horizontal">
                    <legend>Screen Size</legend>
                        <input type="radio" name="size" id="size-1" value="computer" checked="checked" />
                        <label for="size-1" class="size-option">Computer</label>

                        <input type="radio" name="size" id="size-2" value="tablet"  />
                        <label for="size-2" class="size-option">Tablet</label>

                        <input type="radio" name="size" id="size-3" value="phone"  />
                        <label for="size-3" class="size-option">Phone</label>
                </fieldset>
           </form>
        </div>
    </div>

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






<h2>Cashflow Calculator</h2>

<div class="ui-grid-a">

    <div class="ui-block-a" style="padding-right:5px;">
        <div data-role="collapsible" data-collapsed="false" data-theme="b" data-content-theme="c">
            <h3>Investment Assumptions</h3>

            <div data-role="fieldcontain" class="narrow">
                <label for="time">Time horizon (years)</label>
                <input type="range" name="time" id="time" value="20" min="0" max="100" data-highlight="true" style="width"/>

                <label for="nominal">Nominal return after unit trust fees (%)</label>
                <input type="text" name="nominal" id="nominal" value="" />

                <label for="inflation">Inflation rate p.a. (%)</label>
                <input type="text" name="inflation" id="inflation" value="" />

                <label for="administration-fees">Net platform administration fees (%)</label>
                <input type="text" name="administration-fees" id="administration-fees" value="" />

                <label for="advisor-fees">Financial advisor fees (%)</label>
                <input type="text" name="advisor-fees" id="advisor-fees" value="" />
            </div>
        </div>

        <a href="#new-lump-sum" data-role="button" data-rel="popup" data-position-to="window" data-icon="plus" data-inline="true" data-mini="true">Add Contributions or Withdrawals</a>

        <div data-role="collapsible" data-collapsed="false" data-theme="b" data-content-theme="c">
            <h3>Contributions & Withdrawals </h3>



            <ul id="lump-sums" data-role="listview" data-split-icon="delete" data-split-theme="d">
                <li>
                    <a>
                        <h3>Contribution: R20 000</h3>
                        <p class="topic"><strong>Recurres: 6 times</strong></p>
                        <p class="ui-li-aside"><strong>Start Date: 01/08/2013</strong></p>
                    </a>
                    <a href="#" class="delete">Delete</a>
                </li>
                <li>
                    <a href="#demo-mail">
                        <h3>Contribution: R5000</h3>
                        <p class="ui-li-aside"><strong>Start Date: 01/06/2013</strong></p>
                    </a>
                    <a href="#" class="delete">Delete</a>
                </li>
                <li>
                    <a href="#demo-mail">
                        <h3>Withdrawal: -R25 000</h3>
                        <p class="ui-li-aside"><strong>Start Date: 01/06/2013</strong></p>
                    </a>
                    <a href="#" class="delete">Delete</a>
                </li>
            </ul>

        </div>



        <div data-role="popup" id="new-lump-sum" class="ui-content">
            <a href="#" data-rel="back" data-role="button" data-theme="a" data-icon="delete" data-iconpos="notext" class="ui-btn-right">Close</a>
            <form>
                <fieldset id="lump-sum-type" data-role="controlgroup" data-type="horizontal">
                    <legend>Add New</legend>
                        <input type="radio" name="lump-sum-type" id="contribution" value="contribution" checked="checked" />
                        <label for="contribution" class="">Contribution</label>

                        <input type="radio" name="lump-sum-type" id="withdrawal" value="withdrawal"  />
                        <label for="withdrawal" class="">Withdrawal</label>
                </fieldset>

                <label for="lump-sum-amount">Amount (R)</label>
                <input type="text" name="lump-sum-amount" id="lump-sum-amount" value="" />

                <label for="lump-sum-date">Date</label>
                <input type="text" name="lump-sum-date" id="lump-sum-date" value="" />

                <a data-role="button" data-theme="b" onclick="addLumpSum()">Add</a>
            </form>
        </div>

    </div>

    <div class="ui-block-b" style="padding-left:5px;">
        <div data-role="collapsible" data-collapsed="false" data-theme="b" data-content-theme="c">
            <h3>Future Value Graph</h3>


            <div id="container" style="width:100%; height:400px;">fgjfjfgjh</div>

            <script type="text/javascript">


            </script>


        </div>

    </div>
</div>


            </div>

            <div id="footer" data-role="footer">
    <div id="bottom-border"></div>
    <p>Copyright © 2013 Allan Gray. All Rights Reserved.</p>
</div>
                <div data-role="panel" id="right-panel" data-position="right" data-display="overlay" data-theme="b">
        <a href="#page" data-rel="close" data-role="button" data-iconpos="notext" data-icon="delete"></a>
        <h3>Favourites</h3>
        <div id="search-box">
            <input type="search" name="search-mini" id="search-mini" value="" data-mini="true" placeholder="Search..." />
        </div>
    </div>





            <script>

            </script>

        </div><!-- End Page -->
    </div>

</body>
</html>

当页面事件发生后立即打开弹出窗口和对话框时,它们会很棘手。要解决此问题,您需要使用setTimeout打开对话框或弹出窗口。

$(document).on('pageinit', function() {
 setTimeout(function () {
  $('#new-lump-sum').popup('open');
 }, 100); // delay above zero
});
本文内容由网友自发贡献,版权归原作者所有,本站不承担相应法律责任。如您发现有涉嫌抄袭侵权的内容,请联系:hwhale#tublm.com(使用前将#替换为@)

无法在 jQuery Mobile 中以编程方式打开面板或弹出窗口 的相关文章

  • 将 PhotoSwipe 配置为不使用整个窗口?

    我目前正在尝试使用构建移动图片库照片滑动 http photoswipe com 我已经能够让它工作了 但有一个小问题 当我 单击照片缩略图 实际照片总是占据整个 视口 当您在移动设备上查看图库时 这是可以的 但是 如果您的视口是计算机屏幕
  • 如何仅使用 XAML 标记在单击另一个控件时打开 WPF 弹出窗口?

    我有两个控件 一个 TextBlock 和一个 PopUp 当用户在文本块上单击 MouseDown 时 我想显示弹出窗口 我认为我可以使用弹出窗口上的 EventTrigger 来完成此操作 但我不能在 EventTrigger 中使用设
  • 使用phonegap检查互联网连接

    我看到了一些不同的选项来检查电话间隙的互联网连接 有document addEventListener online onOnline false 还有navigator network connection type 但我不确定哪一种是最
  • 自动移动站点重定向

    我刚刚制作了我的第一个 jQuery 移动网站 我想让使用手机查看我的 完整网站 的人自动转移到 移动网站 如果需要 还可以单击链接查看完整站点 我不知道从哪里开始 有一些我可以使用的 JavaScript 吗 如果您想查看这些网站的外观
  • 使用 jQuery Mobile 和响应式布局/CSS 媒体查询是否多余?

    我正在退房http mediaqueri es http mediaqueri es 今天发现这些网站非常适合移动设备 所以我想知道将 jQuery Mobile 和响应 自适应布局与媒体查询一起使用是否是多余的 因为仅使用媒体查询似乎是一
  • 用于移动 Web 应用程序的带有图表的框架

    我正在开发一个移动网络应用程序 我需要在饼图中表示一些数据 但是我没有找到任何好的框架来提供良好的选择并在移动设备上正常工作 我想知道一些框架 免费 这可以帮助我 如果您能给出一些基础示例 我会感到惊讶 我正在考虑使用 ajax 技术来显示
  • 增加 WPF 弹出动画的持续时间

    我有一个 WPF PopUp 控件 用于显示菜单叠加层 并且使用默认的淡入淡出动画 不过我想让动画需要更长的时间才能完成 我可以在 XAML 中做到这一点吗 你能在这里发布相关的xaml代码吗 否则 您可以查看这些链接以开始使用 xaml
  • jQM / jquery-collagePlus 使用问题

    我正在使用 jQM 构建应用程序 并且尝试使用 jquery collagePlus http ed lea github io jquery collagePlus http ed lea github io jquery collage
  • 带有可选文本的 python tkinter 弹出窗口

    我想使用 Tkinter 制作弹出窗口 我可以这样做 import Tkinter a some data that use should be able to copy paste tkMessageBox showwarning don
  • 如何处理 ASP.net MVC Ajax 加载页面上的 jQuery 事件?

    我有一个问题 我是 jQuery Mobile 领域的新手 对于 ASP Net MVC 部分我有点迷失 这是我的问题 在我的移动网站中 我想更改导航栏 我使用的更像是应用程序栏 按钮 而我位于编辑页面或主页等 因此 这些页面 编辑 显示
  • 将 jquery-mobile 与 Webpack 结合使用

    我正在尝试使用 webpack 加载 jquery mobile 但到目前为止还没有运气 我知道 jquery mobile 依赖于 jquery ui 而 jquery ui 又依赖于 jquery 如何在 Webpack 中设置这样的场
  • 构建适用于 Windows 8 的控制面板小程序

    我开发了一个控制面板小程序 cpl 文件 我们与我们的应用程序一起分发 它在所有以前版本的 Windows 上运行良好 但在 Windows 8 上不行 该小程序根本不显示在控制面板中 以前我们所要做的就是将 cpl 文件放入 system
  • 如何在 Servlet 中打开弹出窗口,然后重定向页面

    我想在调用 servlet 时打开一个弹出窗口 然后想将 servlet 重定向到某个 jsp page 这就是我所做的 protected void doGet HttpServletRequest request HttpServlet
  • jQuery Mobile 1.4.0:动态更改页面的标题和标题

    动态更改 jQuery Mobile 1 4 0 页面的标题 data role header 和 title 的正确方法是什么 添加方法有很多种toolbars 页眉 页脚 动态 此外 jQuery Mobile 1 4 提供intern
  • 如何在Shiny中动态生成的条件面板中格式化条件?

    我正在尝试使用 for 循环在 Shiny 中创建小部件 每个块包含 label 复选框 选择选择器 两个数字输入 我想根据复选框的值和选择选择器的值来设置显示或隐藏两个数字输入的条件 在我创建的 for 循环中 我为每个小部件变量添加了一
  • 我可以修改现有对象的 JComboBox 弹出背景颜色吗?

    我有一个现有的 JComboBox 对象 我可以使用内部方法修改它的许多属性 但是 我找不到类似的方法来自定义弹出窗口的外观 特别是弹出窗口的背景颜色 我有一个现有的对象 所以我希望使用其现有的方法 属性 而不是编写专用的类 这可能吗 注
  • 如何在 jQuery Mobile 中将标题设置为全屏模式?

    当我设置属性时data fullscreen true 对于标题 它工作正常 但当我收到一些事件时 我确实需要在运行时执行此操作 我试过这个 document ready function data role header attr dat
  • 如何关闭弹出对话框页面并从代码中打开另一个对话框页面?

    我正在关闭一个弹出对话框 然后我将打开另一个弹出窗口 例如 iece popup close popupMatricula popup open 我也尝试 function iece bind popupafterclose functio
  • HTML 5 + iOS - 创建混合应用程序

    我正在尝试将我的本机 iOS 应用程序转换为使用 HTML 5 的混合应用程序 经过研究后我最终得到了jQuery 移动 phoneGap 我的问题是 是否可以将 html 5 和本机 iOS 功能混合在一个单一的版本中 看法 例如我可以使
  • 如何使用 jQuery mobile 确保动态 DOM 元素具有正确的 css

    我正在使用 jQuery mobile 构建一个移动应用程序 我尝试动态添加一些输入 但是 jQuery 移动样式未添加到动态创建的输入中 我创建了一个简单的应用程序 http jsfiddle net jGhqS http jsfiddl

随机推荐