我正在开发jQueryMobile和PhoneGap中的移动应用程序。通常,由于jQM的性质或者因为它是关于加载数据,页面在显示之前需要进行一些最后的调整。例如,表单字段需要使用动态检索的数据填充,或者列表项的内容需要给出稍微不同的样式以便更好地适应。
我目前正在使用pageBeforeShow事件处理程序进行所有这些调整。但我想知道我是否应该使用pageBeforeChange事件处理程序。 jQM文档并没有真正说清楚这两个事件是如何相互关联的,即首先被解雇的事件。
我所知道的 我知道以下
为什么我要问 这就是为什么我想知道page(Before)Change是否是更好的候选者的背景。
jQuery Mobile页面转换在许多设备上都很尴尬。 Android设备上的一个大问题是页面更改是跳跃式的:无论转换类型(淡入淡出,弹出等)如何,用户留下的页面将在新页面或多或少完成之后短暂地弹回到视图中。浏览器。 根据我的经验,这主要发生在其他动画正在运行或在页面转换发生时启动时。基本上,Android浏览器似乎不想将转换应用于实际上不在视图中的元素,因此它将在jQM页面之间来回切换。 我已经开发了一种解决方法,我将页面的任何标记和表单调整延迟大约1000毫秒,这可以防止闪烁,但这意味着用户可能会在页面进入视图后在屏幕上看到这些调整。
这种分析让我觉得pageBeforeChange可能是附加任何标记和表单调整的更好选择。但这将是代码的重大改写,我不知道我将会遇到什么无法预料的事情。有没有这些活动的经验?
答案 0 :(得分:0)
我不确定pagebeforechange
是否是最佳选择。我没有将pagebeforechange
视为页面级事件,而是更多的网站级事件。我主要是因为我想接管导航或构建动态页面。
当我想将事件处理程序附加到页面时,我使用pageinit
。当我想在页面显示之前更改页面的内容或外观时,我使用pagebeforeshow
。
希望这有帮助。