Uncaught cannot call methods on listview prior to initialization; 在刷新动态内容时报错的解决方案

来源:互联网 发布:软件项目介绍费 编辑:程序博客网 时间:2024/05/18 13:23

在玩jQuery Mobile时需要动态向Listview添加内容,但内行都知道,新增的内容是不带mobile样式和效果的,需要调用mobile提供的刷新函数,对于Listview,需要调用listview(‘refresh’),但是,在测试时会得到jQuery Mobile抛出的如下异常信息Uncaught cannot call methods on listview prior to initialization; attempted to call method 'refresh',在stackoverflow上也有不少人问,但都没有说到点子上。

经过Magic哥的一番实验,发现这是因为在调用refresh时,jQuery Mobile对象还没有完成初始化,导致调用refresh时被jQuery Mobile抛出异常。

解决方案是给jQuery Mobile留出初始化的时间,用0秒延时的setTimeout就可以,至少哥的问题就这么解决了。

setInterval("$listview.listview('refresh')",0);

原创粉丝点击