常见的共有5个page函数,刚开始有点迷糊的是到底谁先谁后执行。

实验告诉我们结果:

  
    var temp = '';

    $('body').live('pagechange', function () {  temp += 'pagechange,\n'; console.log (temp); })
    $('body').live('pagecreate', function () { temp += 'pagecreate,\n'; console.log(temp); })
    $('body').live('pageinit', function () {  temp += 'pageinit,\n'; console.log(temp); })
    $('body').live('pageload', function () {  temp += 'pageload,\n'; console.log(temp); })
    $('body').live('pageshow', function () {  temp += 'pageshow,\n'; console.log(temp); })

结果:jqMobile中pageinit,pagecreate,pageshow等函数的执行顺序

显然,依次是create,init然后是show.

change根据文档有page切换的时候才会执行。

至于load为什么没有执行?

原文描述:

Description: Triggered after the page is successfully loaded and inserted into the DOM.

估计ajax启用后,插入到文档中时会执行。谁知道追加下?

Pageload也是过时的函数,1.6版中将移除。

The triggering of this event is deprecated as of jQuery Mobile 1.4.0. It will no longer be triggered in 1.6.0.

另外,补充多个page对象时的执行情况:jqMobile中pageinit,pagecreate,pageshow等函数的执行顺序

create和init会执行多次,show只执行一次。

 

相关文章:

  • 2021-10-25
  • 2022-12-23
  • 2021-05-19
  • 2022-12-23
  • 2022-12-23
  • 2022-12-23
  • 2022-12-23
  • 2022-12-23
猜你喜欢
  • 2021-06-27
  • 2022-12-23
  • 2021-11-15
  • 2021-05-04
  • 2022-12-23
  • 2022-12-23
  • 2021-11-18
相关资源
相似解决方案