我得到一个用JavaScript填充数据的表,有一个包含少量列的单个模板行的表,并且被css隐藏,当服务器返回数据时,程序将模板行克隆到多行并填入数据他们的专栏。
现在,有一个奇怪的事情,如果表在同一页面,一切正常,但如果我尝试添加一个新页面(即)并填写数据然后转到新页面(即jQuery。 mobile.changePage(" #newPage")),显示新页面后,所有克隆的行都会被处理两次(即我猜测'创建'事件被触发两次),装饰得到复制,单个输入字段有2个div标记,
即。输入标记装饰如下:
<td style="min-width: 70px;">
<b class="ui-table-cell-label">Price</b>
<div class="ui-input-text ui-body-inherit ui-corner-all ui-state-disabled ui-shadow-inset">
<div class="ui-input-text ui-body-inherit ui-corner-all ui-state-disabled ui-shadow-inset">
<input data-meta-column="TxnGridTxnPrc" disabled="disabled">
</div></div>
</td>
,但原始模板行看起来正确,只是克隆行得到重复,我还调试了我的JavaScript函数,克隆并填入数据之后,在我转到新页面之前,所有事情都好(通过Chrome的开发人员工具检查了DOM树)浏览器);我的程序不会激活selectmenu(&#34;刷新&#34;)或类似的调用,新页面是由JavaScript创建和加载的,我的理解是,如果&#39;创建&#39;在填充数据之前,事件已经被触发,然后克隆的行也会得到装饰,不需要再次装饰。
,如何避免它?
有一个用于演示的屏幕转储: