Jquery mobile JQueryMobile:pagecontainershow在特定页面上不工作

Jquery mobile JQueryMobile:pagecontainershow在特定页面上不工作,jquery-mobile,Jquery Mobile,JQueryMobile1.4有pageshow事件,建议使用pagecontainershow;然而,虽然我能够在文档级别获得pagecontainershow事件,但我无法将函数绑定到特定页面 <div id="page1" data-role="page"> ... <script> $( "#page1" ).on( "pagecontainershow", function( event, ui ) { console.log("page1 page

JQueryMobile1.4有pageshow事件,建议使用pagecontainershow;然而,虽然我能够在文档级别获得pagecontainershow事件,但我无法将函数绑定到特定页面

<div id="page1" data-role="page">
...
<script>
  $( "#page1" ).on( "pagecontainershow", function( event, ui ) {
    console.log("page1 pagecontainershow");
  } );
</script>
</div>

您可以像这样获取页面ID

$(document).on('pagecontainershow', function(e, ui) {
    var pageId = $('body').pagecontainer('getActivePage').prop('id');
});
当前无法在特定页面上显示/隐藏事件。

以下是我使用的内容(jqmobile>1.4):

MobileSite包含在包含所有show()函数的外部.js文件中

$(document).on("pagecontainerbeforeshow", function (event, ui) {

    if (typeof ui.toPage == "object") {
      var crrentPage =   ui.toPage.attr("id") 

            }
});

在调用Index.js之前必须使用此代码

坚持当前事件,直到它们在1.5上被删除。我已经报告了一个与此相关的问题,并做了一些实验。查看最后评论中的演示。我真的不明白为什么页面事件会被弃用,如果应该使用语句,它将在1.5版上被删除。是的,不幸的是,如果涉及到非常繁忙的
。这就限制了对页面的控制,尤其是动态创建的页面。默认页面容器是
body
,但仍然需要使用
$(文档)委托事件。我真的找不到反对页面事件的理由,这肯定是对jQM.btw的一种倒退,
pagebeforeshow
pagebeforeshide
没有被反对,用它们代替。反对一些有用的东西,并推荐使用它???你有什么信息吗?没有对不起,也许你可以在这里提出问题
$(document).on("pagecontainershow", function () {
    var activePage = $.mobile.pageContainer.pagecontainer("getActivePage");

    var activePageId = activePage[0].id;
    switch (activePageId) {
        case 'loginPage':
            ...
            break;
        case 'homePage':
            ...
            break;
        case 'groupPage':
            ...
            break;
        default:
    }
});
$(document).on("pagecontainershow", function(event, ui) {
   var pageId = $('body').pagecontainer('getActivePage').prop('id'),
       showFunc = pageId+'_show';

   if (typeof MobileSite[showFunc] == 'function') {
      MobileSite[showFunc]();
   }
});
$(document).on("pagecontainerbeforeshow", function (event, ui) {

    if (typeof ui.toPage == "object") {
      var crrentPage =   ui.toPage.attr("id") 

            }
});