2012-05-25 51 views
2

我有一个多页jQuery文档。所有的工作都很顺利,除了每隔一段时间,在页面之间导航时,页面将简单地显示为白色屏幕。页脚和标题将显示,但两者之间没有任何内容。jQuery Mobile登录所有事件,修复空白页面

我的猜测是某个特定的事件导致了错误,或者至少将我指向了正确的方向。如何让jQuery写出每一个事件,因为它发生在浏览器console.log中?

回答

1

jQuery Mobile没有内置开关来启用对所有JQM事件的调试。该网站建议使用未经压缩的脚本进行调试,但这并不能让控制台中的所有内容都记录在案。

它可能有助于绑定到页面上的每个事件或至少$.mobile.base对象。看看这个职位如何做到这一点: How can I bind all events on a DOM element?

2

我四处寻找相似,找到在此之前几乎推出了自己的东西:

http://view.jquerymobile.com/master/tools/

基本上,一个可以使用页面事件记录器小书签动态地将this script注入到DOM中,并将事件记录到标准console.log中。如果您想查看所有事件(如“mobileinit”),请将该脚本包含在您的页面中。我做这样的事情通常是:

{% if debug %} 
    <script src="http://view.jquerymobile.com/master/tools/log-page-events.js"></script> 
    <script src="http://code.jquery.com/mobile/1.3.1/jquery.mobile-1.3.1.js"></script> 
{% else %} 
    <script src="http://code.jquery.com/mobile/1.3.1/jquery.mobile-1.3.1.min.js"></script> 
{% endif %} 

值得一提的是,并非所有的事件记录(例如orientationchange),但大部分的事件是。这节省了我相当多的时间来调试和理解框架。

+0

+1 Thanks Freddie – Jack