来 self 关于@jquery 的主题: https://forum.jquery.com/topic/multiple-pagebeforecreate-events-triggered-when-jqm-builds-the-page-for-nested-listviews-w-jsfiddle
现在可以理解了,但有点不直观。 Google 帮助不大,主要是指向“使用 pageinit 而不是 doc.ready()”。嵌套 ListView 页面中的注释会节省一些时间。在点击之前加载页面是我一个人还是有点不直观?
问题是:如何检测事件负载的差异?探索事件对象时没有任何亮点。
我在说什么? :) 代达罗斯更新:http://jsfiddle.net/3Shyb/ 原文:http://jsfiddle.net/jhr007/mDVfP 在 jsfiddle 中,消息被发送到控制台日志。 打开并清除控制台。运行。
注意关于“pagebeforecreate Man handle the dom..”等两条消息。1,然后 2
如果您编辑 html 并删除嵌套的 <ul> ... </ul>
,然后运行。您会收到一次消息。
每次加载带有子菜单的导航菜单的页面时都会发生这种情况。
http://www.jquerymobile.com/demos/1.1.0/docs/lists/docs-lists.html
当单击带有子列表的列表项时,框架将生成一个新的 ui 页面,其中填充了标题中的父项标题和子元素列表。 .. 列表可以嵌套多层,所有页面和链接都将由框架自动处理。
最佳答案
不幸的是,您引用的那部分文档是错误的。 listview 小部件在创建父页面时创建 ui 页面。单击 ListView 项时不会。这就是您看到多个 pagecreate 事件的原因。如果你有两个嵌套的 ListView ,你会看到 3 pagebeforecreate 事件。从我在下面粘贴的代码中可以看出,嵌套列表的子页面与普通的 JQM 页面完全一样。
<div data-role="page" data-url="/_display/&ui-page=0-0" data-theme="null" data-count-theme="c" tabindex="0" class="ui-page ui-body-null">
<div data-role="header" data-theme="b" class="ui-header ui-bar-b" role="banner">
<div class="ui-title">Step 1</div>
</div>
<div data-role="content" class="ui-content" role="main">
<ul class="ui-listview">
<li class="ui-li ui-li-static ui-body-c">Step 1</li>
<li class="ui-li ui-li-static ui-body-c">Step 2</li>
<li class="ui-li ui-li-static ui-body-c">Step 3</li>
<li class="ui-li ui-li-static ui-body-c">Step 4</li>
<li class="ui-li ui-li-static ui-body-c">Step 5</li>
</ul>
</div>
</div>
关于javascript - 由带有 jsfiddle 的嵌套 ListView 引起的多个 pagebeforecreate 事件,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/10661969/