0

折りたたみ可能な div のスタイルが更新されていません。最新の jquery-mobile 1.2.0 バージョンを使用しています。私のコードは次のとおりです。何が欠けているかについてのアドバイスをお願いします

HTML

<div data-role="page" id="eventDetails">
<div data-role="content">
<div data-role="collapsible-set" class="collapsibleSetClass">
    <div data-role="collapsible" data-content-theme="b" class="collapsibleClass">
    </div>
</div>

</div><!-- /content -->
</div>

使用する JavaScript:

    $(document).bind("mobileinit", function(){
        $.mobile.changePage.defaults.changeHash = false;
        $.mobile.collapsibleset.prototype.options.initSelector = ".collpasibleSetClass";
        initEvents();
    });

var initEvents = function(){
 $.mobile.changePage( "#eventDetails", { transition: "slide"} );
 var $description = $('.collapsibleClass');
 $description.html('');
 var $title = $('<h3/>').append(eventObj.eventTitle);
 var $eventDetails = $('<p/>').append(eventObj.eventDescription);
 $description.append($title).append($eventDetails);
 $('.collapsibleSetClass').collapsibleset("refresh");
}
4

1 に答える 1

1

まだ初期化されていないウィジェットを更新しようとしています。initEvents()何かが初期化される前に発生するmobileinitイベント ハンドラーを呼び出します。

したがって、ほとんどの場合、折りたたみ可能なウィジェットを更新する行を削除するだけで、jQuery Mobile がそれらを自動的に初期化します。

var initEvents = function(){
 $.mobile.changePage( "#eventDetails", { transition: "slide"} );
 var $description = $('.collapsibleClass');
 $description.html('');
 var $title = $('<h3/>').append(eventObj.eventTitle);
 var $eventDetails = $('<p/>').append(eventObj.eventDescription);
 $description.append($title).append($eventDetails);
 //$('.collapsibleSetClass').collapsibleset("refresh");
}

また、ページの HTML の後にすべての JS を含める必要があることに注意してください。そうしないと、選択した HTML 要素が使用できなくなります。この理由pageinitよりも、最初のページに使用することをお勧めします。mobileinit

于 2012-12-04T20:32:07.347 に答える