ICode9

精准搜索请尝试: 精确搜索
首页 > 编程语言> 文章详细

javascript – 我是否必须为每个页面创建一个新面板?

2019-09-30 08:34:05  阅读:157  来源: 互联网

标签:javascript jquery html5 css3 jquery-mobile


我想在jqm站点中使用Panel来选择我的选择语言组件.因此,每个页面都需要存在该组件.以下是单页面板的设置.

jquerymobile.com(…我添加了一个标题按钮)
    

  <div id="mypanel" data-role="panel" >
    <!-- panel content goes here -->
  </div><!-- /panel -->

  <div id="myheader" data-role="header" >
    <a id='panel_toggle' data-role='button'>choose language</a>
  </div><!-- /header -->

  <!-- content -->
<!-- footer -->

</div><!-- page -->

我认为我有3个解决方案:

> A – 在每个页面上创建面板的副本
—-如果page_N上的状态发生变化,那么这将是一个问题,那么所有其他状态都需要同步
> B – 创建一个在页面更改时按编程方式移动的面板
—-这看起来像个黑客
> C – 发现jqm是否已经解决了这个问题
—-因此我问的问题:)

jqm是否有办法将Panel从一个页面移动到另一个页面?

解决方法:

您最好的做法是为每个页面动态创建一个面板.

我给你一个工作的例子:http://jsfiddle.net/Gajotres/pZzrk/

$(document).on('pagebeforeshow', '[data-role="page"]', function(){                
    $('<div>').attr({'id':'mypanel','data-role':'panel'}).appendTo($(this));
    $('<a>').attr({'id':'test-btn','data-role':'button'}).html('Click me').appendTo('mypanel');
    $.mobile.activePage.find('#mypanel').panel();
    $(document).on('click', '#open-panel', function(){   
         $.mobile.activePage.find('#mypanel').panel("open");       
    });    
});

几个描述:

> $.mobile.activePage是必需的,因为我们将在每个页面中都有相同的面板,并且所有这些面板都具有相同的ID.如果我们打开它没有活动页面,我们将在DOM中打开它的第一个出现.

jQuery Mobile开发人员已经声明,在下一个主要版本面板小部件将不再需要成为页面的一部分,而是将其放置在与页面div相同的级别.因此需要一个小组.不幸的是,您需要动态创建它.

标签:javascript,jquery,html5,css3,jquery-mobile
来源: https://codeday.me/bug/20190930/1835379.html

本站声明: 1. iCode9 技术分享网(下文简称本站)提供的所有内容,仅供技术学习、探讨和分享;
2. 关于本站的所有留言、评论、转载及引用,纯属内容发起人的个人观点,与本站观点和立场无关;
3. 关于本站的所有言论和文字,纯属内容发起人的个人观点,与本站观点和立场无关;
4. 本站文章均是网友提供,不完全保证技术分享内容的完整性、准确性、时效性、风险性和版权归属;如您发现该文章侵犯了您的权益,可联系我们第一时间进行删除;
5. 本站为非盈利性的个人网站,所有内容不会用来进行牟利,也不会利用任何形式的广告来间接获益,纯粹是为了广大技术爱好者提供技术内容和技术思想的分享性交流网站。

专注分享技术,共同学习,共同进步。侵权联系[81616952@qq.com]

Copyright (C)ICode9.com, All Rights Reserved.

ICode9版权所有