jQM:只有一些转换在动态HTML注入后才起作用

jQM: Only some transitions work after dynamic HTML injection

本文关键字:HTML 动态 注入 起作用 转换 jQM      更新时间:2023-09-26

当我用Ajax提取的数据将大量HTML注入DOM时,我会循环遍历数据,并根据每个条目注入一些内容。每个注入的元素是一些具有CCD_ 2的CCD_。

问题:目前在我注入的21个条目中,只有前6个条目的转换有效。我尝试了几种方法,即一次注入所有内容,将所有内容分块注入,在之后的包含div上调用.trigger('create').page(),并在每次注入时调用它,甚至在for循环中的每个元素后面添加一个setTimeout(500)。注意:对于不起作用的元素,根本没有转换,甚至没有默认的转换。

简化示例代码:这是在$().ajaxSubmit请求的回调函数中调用的

function populateFeed(data) {
  for (var i = 0; i < data.length; i++) {
    $("#feed").append("<a href='#nextpage' onclick='someFunction()' data-" + 
       "transition='slide'><div>Some content</div></a>");
  }
}

实际的代码比这多一点逻辑,但这是核心。那么,为什么这只适用于前6个,而对于后6个,感觉jQM转换中断了呢?我该如何解决这个问题?

更新:类似的效果已经在http://jsfiddle.net/Uk5d4/6/.底部附近的链路(即链路999)没有转换。

在您完成html的动态创建后,尝试加载jqm-js。JQM转换第一次加载时已经创建的html。因此,如果你在之后创建任何东西,它无法转换它们,因此我们需要再次调用这个js。