我有一个多页jquery文档。一切都在顺利进行,除了一次又一次,在页面之间导航时,页面只会显示为白色屏幕。页脚和标题将显示,但两者之间没有任何内容。
我的猜测是特定事件导致错误,或者至少会指向正确的方向。我怎样才能让jQuery写出每个事件,因为它发生在浏览器console.log?
答案 0 :(得分:2)
我正在寻找类似的东西,几乎推出了自己的东西,然后才发现:
http://view.jquerymobile.com/master/tools/
基本上,可以使用页面事件记录器bookmarklet动态地将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),但大多数事件都是。通过调试和理解框架,我节省了相当多的时间。
答案 1 :(得分:1)
jQuery Mobile没有内置开关来启用所有JQM事件的调试。该站点建议将未压缩的脚本用于调试,但这并不能简单地在控制台中记录所有内容。
绑定到页面上的每个事件或至少绑定$.mobile.base
对象可能会有所帮助。看看这篇文章是如何做到的:
How can I bind all events on a DOM element?