2

我有一个多页 jquery 文档。一切都很顺利,除了偶尔在页面之间导航时,页面将简单地显示为白屏。将显示页脚和页眉,但两者之间没有任何内容。

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

4

2 回答 2

2

在找到这个之前,我正在四处寻找类似的东西并且几乎推出了我自己的东西:

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

基本上,可以使用页面事件记录器小书签将此脚本动态地注入到 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),但大多数事件都被记录。它为我节省了很多调试和理解框架的时间。

于 2013-06-16T21:30:28.207 回答
1

jQuery Mobile 没有内置开关来启用对所有 JQM 事件的调试。该站点推荐使用未压缩的脚本进行调试,但这并不能完全方便地在控制台中记录所有内容。

绑定到页面上的每个事件或至少绑定到$.mobile.base对象可能会有所帮助。查看这篇文章以了解如何做到这一点: 如何在 DOM 元素上绑定所有事件?

于 2012-05-25T12:38:48.170 回答