jquery-mobile – jQuery Mobile:Uncaught TypeError:无法读取未定义的属性’jQuery …’

前端之家收集整理的这篇文章主要介绍了jquery-mobile – jQuery Mobile:Uncaught TypeError:无法读取未定义的属性’jQuery …’前端之家小编觉得挺不错的,现在分享给大家,也给大家做个参考。
我有一个jQuery Mobile项目,它分布在不同的文件中,例如
<!DOCTYPE html>
<html>
    <head>
        <script type="text/javascript" charset="utf-8" src="cordova-2.3.0.js"></script>
        <link rel="stylesheet" href="http://code.jquery.com/mobile/1.2.0/jquery.mobile-1.2.0.min.css" />

        <link rel="stylesheet" href="css/custom.css" />

        <script src="http://code.jquery.com/jquery-1.8.3.min.js"></script>
        <script src="http://code.jquery.com/mobile/1.2.0/jquery.mobile-1.2.0.min.js"></script>
        <script src="js/methods.js"></script>
    </head>
    <body>
        <!-- Termine Page -->
        <div data-role="page" id="firstPage">
            <div data-role="header" data-position="fixed">
                <h1>Header 1</h1>
                ...
            </div><!-- /navbar -->

            <div data-role="content">
            ...
            </div>
        </div>
    </body>
</html>

secondPage.html

<!DOCTYPE html>
<html>
    <head>
        <script type="text/javascript" charset="utf-8" src="cordova-2.3.0.js"></script>
        <link rel="stylesheet" href="http://code.jquery.com/mobile/1.2.0/jquery.mobile-1.2.0.min.css" />

        <link rel="stylesheet" href="css/custom.css" />

        <script src="http://code.jquery.com/jquery-1.8.3.min.js"></script>
        <script src="http://code.jquery.com/mobile/1.2.0/jquery.mobile-1.2.0.min.js"></script>
        <script src="js/methods.js"></script>
    </head>
    <body>
        <div data-role="page" id="pageTwo" class="ui-page">
            <div data-role="header" data-position="fixed" id="terminDetailSeiteHeader">
            <h1>Header 2</h1>
        </div>
        <div data-role="content">
                <div id="contentToFillWithDynamicListView"></div>
            </div>
        </div>
    </body>
</html>

然后,我得到了一个脚本,它应该调用一个PHP-Script并生成一个listview:

function listViewCreation() {
    var url = 'http://www.myServer.com/myPHP.PHP?someParameters=1&callback=?';
        $.getJSON(url,function(data) {
            $('#contentToFillWithDynamicListView').empty();
            var collapsibleList = '<ul data-role="listview">';
            var myselfIsIncluded = 0;
            $.each(data,function(key,value) {
                collapsibleList += '<li>' + value['displayName'] + '</li>';
            });
            collapsibleList += '</ul>';

            $('#contentToFillWithDynamicListView').html(collapsibleList).trigger('create');
        });
    }

.trigger(‘create’)导致错误……我错过了什么?

编辑1

listViewCreation的调用方式如下:

$("#pageTwo").live("pageshow",function(e,data){
    listViewCreation();
});

编辑2
我从不同的服务器获取远程数据,这似乎是错误的原因;但我不知道如何解决它…我正在两个页面获取数据(1和2);对于它工作的第一页,对于第二页它不…

$.getJSON(url,function(data) {
    ...
}

解决方法

我可以看到你正在使用jQuery mobile的最新稳定版本.

你的问题是

trigger('create');

它不用于jQuery移动列表视图重定制.你应该使用:

.listview('refresh');

代替.不要相信官方的jQM文档,不应该弃用trigger(‘create’).每个jQM小部件都有一个用于刷新它的功能,例如按钮(‘refresh’).

更改页眉,页脚或内容时也不要使用触发器(‘create’),它不起作用,可以在页面上触发pagecreate:

trigger('pagecreate');

编辑:

的情况下:

Uncaught Error: cannot call methods on listview prior to
initialization; attempted to call method ‘refresh’

呼叫:

$('#listviewid').listview().listview('refresh');

第一个调用将初始化它,第二个将调整它的样式.

在此ARTICLE中查找有关此主题的更多信息.

原文链接:https://www.f2er.com/jquery/241613.html

猜你在找的jQuery相关文章