在JQM pageshow工作中,pagebeforeshow没有

时间:2014-07-09 10:00:19

标签: jquery jquery-mobile pageshow

嗨我有一些jQuery Mobile和pageshow工作得很好(这是blip bug,但工作很好)就像这样:

$(document).off('pageshow').on('pageshow', function () { 
   console.log('it happened');
});

注意:我有很多(READ:丢失)缓存问题,所以尽管有相反的信息,我担心off()必须留下来。你会和我争辩,我会保持off(),我会是对的。

好的,但是当我把它改成

$(document).off('pagebeforeshow').on('pagebeforeshow', function () { 
   console.log('it happened');
});

它没有运行。现在我知道你应该做像

这样的事情
$(document).off('pagebeforeshow').on('pagebeforeshow', '#somediv', function () { 
   console.log('it happened');
});

但我不希望它只是那个div我希望它在整个文档中。

1 个答案:

答案 0 :(得分:0)

您可以测试何时离开这样的特定页面(在我的情况下工作):

- >如果你仍然在那个页面上,启动一个循环函数(setInterval)每2秒测试一次,如果没有(这意味着你刚离开页面)只执行一次函数

以下是代码:

<script>$('#YOUR_PAGE').bind('pageshow', function(data) { 
      var repeat = setInterval(function() {
      var page_path = $.mobile.path.parseUrl(window.location).toString().toLowerCase() ;
      var page_page = page_path.split("#"); 
          if ( page_page[1]  != "YOUR_PAGE"){

          ...
          DO YOUR THING
          ...

          clearInterval(repeat);
               }
          }, 2000);
      });
</script>