0

私はJqueryとJqueryモバイルに比較的慣れていません.ページにロードアニメーションを追加しようとしているだけで、デモの1つで提供されているコードに従っているだけでした. ただし、次のエラーが発生します。

Uncaught TypeError: Object [object Object] has no method 'jqmData' 

次のコード スニペットと JavaScript を使用しています

<button class="show-page-loading-msg ui-btn-right" data-icon="refresh" data-theme="d" data-textonly="false" data-textvisible="true" data-msgtext="Loading..." data-inline="true">Refresh</button>

<script>
window.$ = window.jQuery = WLJQ;
$( document ).on( "click", ".show-page-loading-msg", function() {
var $this = $( this ),
    theme = $this.jqmData( "theme" ) || $.mobile.loader.prototype.options.theme,
    msgText = $this.jqmData( "msgtext" ) || $.mobile.loader.prototype.options.text,
    textVisible = $this.jqmData( "textvisible" ) || $.mobile.loader.prototype.options.textVisible,
    textonly = !!$this.jqmData( "textonly" );
    html = $this.jqmData( "html" ) || "";
$.mobile.loading( "show", {
        text: msgText,
        textVisible: textVisible,
        theme: theme,
        textonly: textonly,
        html: html
});

setTimeout(WL.Client.reloadApp, 5000);
$.mobile.loading( "hide" );
});

</script>

theme = $this.jqmData( "theme" )
エラーは、ブラウザ コンソールでデバッグしたときに JavaScript のこの行を指してい ます。$this 変数に割り当てられたボタン データ値を確認できました。アドバイスをお願いします。

4

2 に答える 2

0

次を実行する場合:

console.log($.mobile.version);

...そしてコンソールを確認してください。バージョンは出力されますか?それとも未定義と言っていますか?

未定義の場合は、次のように、jQuery および jQuery モバイル ライブラリを正しく参照しているかどうかを確認します。

<link rel="stylesheet" href="http://code.jquery.com/mobile/1.2.0/jquery.mobile-1.2.0.min.css">
<script src="http://code.jquery.com/jquery-1.8.2.min.js"></script>
<script src="http://code.jquery.com/mobile/1.2.0/jquery.mobile-1.2.0.min.js"></script>
于 2013-07-29T11:58:38.617 に答える