0

如果您有一个带有哈希的 URL,例如:

www.my_jqm_site.com/#some_page_request

...在 jqm 页面事件序列期间的什么时候 jqm 读取哈希?

Event sequence when navigating from jqm_page_A to jqm_page_B ... thanks Muhammed Basil.

  - document --- script time (js is readable, but DOM is not ready yet)
  - document --- ready
  - page B   --- pagebeforecreate
  - page B   --- pagecreate
  - page B   --- pageinit
  - page A   --- pagebeforehide
  - page B   --- pagebeforeshow
  - page A   --- pageremove
  - page A   --- pagehide
  - page B   --- pageshow
  - body     --- onLoad

编辑:如果我在脚本时更改哈希:

<script>
  window.location.hash = "#some_other_page_request" 
</script>

它将覆盖传入的哈希“#some_page_request”,因此 jqm 将导航到反而。

这表明 jqm 在脚本时或之后读取哈希(即在 $(document).ready(...) 时或之后)。

4

1 回答 1

1

pagebeforehide事件期间。

这是在将舞会页面 A 转换到页面 B 期间要分派的第一个元素。

描述:在实际的过渡动画开始之前,在我们正在过渡的“fromPage”上触发。

这是接收数据对象作为其第二个参数的第一页。这个数据对象的对象包含我们要转换到的页面 DOM 元素。

官方文档:http ://api.jquerymobile.com/pagebeforehide/

在它之前的所有事件都是页面创建常见的事件,它们也会在初始应用加载期间触发,当第一页即将显示时:

- page B   ---pagebeforecreate
- page B   ---pagecreate
- page B   ---pageinit

在这 3 个事件期间,系统不知道这是应用程序加载还是页面转换。他们来这里只是为了创建一个新页面。

于 2013-03-26T09:44:26.933 回答