【发布时间】:2014-04-04 17:41:48
【问题描述】:
我对 jQuery-Mobile 比较陌生,我正在尝试了解页面或对话框加载时发生的情况。
我创建了一小部分文件来说明我看到的奇怪现象。 请看https://github.com/kanesee/jqm-event
这个简单的例子只有一个打印 Hello World 的索引页面。有一个打开对话框的按钮,通过打开另一个页面,称为 dialog.html。每当任一页面触发 pageshow 或 pagehide 事件时,我都会打印出来。
这是动作的顺序。
- 打开 index.html:(索引的页面显示按预期触发)
- 单击对话框链接并弹出对话框:(然后触发以下事件序列:index pagehide、dialog pagehide、index pageshow、dialog pageshow)
- 关闭对话框:(索引页面隐藏、对话框页面隐藏、索引页面显示、对话框页面显示)
我不明白为什么对话框打开时会触发该序列。我了解索引页面隐藏,因为我们正在从索引页面过渡。不知道为什么对话框的页面隐藏接下来会触发。不知道为什么 index 的 pageshow 会触发。我明白为什么对话框的 pageshow 会最后触发。
我也不明白为什么在对话框关闭期间会触发序列。不知道为什么 index 的 pagehide 会触发。我明白为什么对话框 pagehide 会触发,然后 index pageshow 会触发。不知道为什么对话框 pageshow 会在最后再次触发。
如果有人能帮助解释这一系列奇怪的事件,我将不胜感激。 我看过这个序列图,但我不确定我是否完全理解它:http://bradbroulik.blogspot.co.nz/2011/12/jquery-mobile-events-diagram.html
【问题讨论】:
标签: javascript jquery jquery-mobile dialog