0

コードからフリップトグルを作成しようとしています。

var favFlip = '<label for="favourFlip">To fav:</label>'+
        '<select id="favourFlip" data-role="slider">'+
            '<option value="off">Off</option>'+
            '<option value="on">On</option>'+
        '</select>';
        $('.ui-content').append(favFlip);
var flip = $('#favourFlip');
flip.slider('refresh');

このコードはpagebeforeshowハンドラーで機能し、エラーをスローします: Uncaught cannot call methods on slider prior to initialization; attempted to call method 'refresh'. どのように修正しますか?

4

1 に答える 1

0

で実行してみるとpageshow、DOM が確実にロードされ、コンテナ$('#favourFlip')が初期化されます。

編集: 試してください: .slider(). これを行うのは、スライダー オブジェクトを作成していて、既存のオブジェクトを更新していないためです。例: http://jsfiddle.net/Calavoow/724yH/3/

于 2012-07-20T10:19:54.760 に答える