Jquery mobile 表中嵌套的字段在页面切换后被修饰两次

Jquery mobile 表中嵌套的字段在页面切换后被修饰两次,jquery-mobile,Jquery Mobile,我得到一个表,用JavaScript填充数据,有一个表有一个模板行,只有很少的列,并且被css隐藏,当服务器返回数据时,程序将模板行克隆到多行,并将数据填充到其中的列 现在,有一件奇怪的事情,如果表在同一个页面中,所有事情都可以正常工作,但是如果我尝试添加一个新页面(即)并填写数据,然后转到新页面(即jQuery.mobile.changePage(“#newPage”)),在显示新页面后,所有克隆行都会被处理两次(即,我猜“create”事件会被触发两次),装饰重复,单个输入字段有2个div标

我得到一个表,用JavaScript填充数据,有一个表有一个模板行,只有很少的列,并且被css隐藏,当服务器返回数据时,程序将模板行克隆到多行,并将数据填充到其中的列

现在,有一件奇怪的事情,如果表在同一个页面中,所有事情都可以正常工作,但是如果我尝试添加一个新页面(即)并填写数据,然后转到新页面(即jQuery.mobile.changePage(“#newPage”)),在显示新页面后,所有克隆行都会被处理两次(即,我猜“create”事件会被触发两次),装饰重复,单个输入字段有2个div标记

i、 e.输入标签装饰如下:

    <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(“refresh”)或类似的调用,新页面是由JavaScript创建和加载的,我的理解是,如果在填充数据之前已经触发了“create”事件,那么克隆的行也会得到修饰,无需再次修饰

,如何避免呢

有一个用于演示的屏幕转储:

问题在于jQM正在“增强”模板行,而您正在克隆已增强的对象。如果要在另一个页面上加载行,可以将模板放在脚本中,或者如果将其保留在标记中,则将其放在任何data role=“page”divs之外的不可见DOM元素中。感谢您的建议,我会将其移到page元素之外,在显示新页面之前,jQM似乎无法知道我的UI组件是否已增强,而克隆模板行无法克隆“不可见的底层”属性(模板行和克隆行显示在同一页面中,但它们看起来不同)。