我把我的方式转变成了一个角落.
我需要在列表中调用listview(“refresh”),但是在调用刷新方法的时候可能没有被初始化.
有没有办法检查组件是否已初始化?
这是我得到的错误:
cannot call methods on listview prior to initialization
解决方法
当一个listview小部件被初始化时,它被赋予了ui-listview类,所以我们可以测试这个类来看它是否被初始化了:
//select the listview var $myUL = $('#my-ul-element'); //add a list-item to the listview $myUL.append('<li>I\'m New!</li>'); //check if the listview has the ui-listview class if ($myUL.hasClass('ui-listview')) { //this listview has already been initialized,so refresh it $myUL.listview('refresh'); } else { //this listview has not yet been initialized,so it gets initialized $myUL.listview();//or you can use .trigger('create'); }
这应该有助于缓解您遇到的错误.
另外,如果元素具有[class],则.hasClass(‘[class]’)函数返回true / false:http://api.jquery.com/hasClass