jquery mobile:对象[object Object]没有方法'jqmData'

时间:2013-07-29 11:04:21

标签: jquery-mobile ibm-mobilefirst

我对Jquery和Jquery移动相对较新,我只是尝试和教程在页面上添加加载动画,我只是按照其中一个演示中提供的代码。但是我收到以下错误。

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>

错误指向javascript theme = $this.jqmData( "theme" )中的此行 当我在浏览器控制台上调试时,我能够看到分配给$ this变量的按钮数据值 请指教,

2 个答案:

答案 0 :(得分: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>

答案 1 :(得分:0)

尝试将您的脚本放入'mobileinit'事件处理程序(或页面事件处理程序)中,例如:     

    <script src="js/jquery-2.0.3.js"></script>
    <script>
        window.$ = window.jQuery = WLJQ;
        $(document).on('mobileinit', function() {
            // your script
        });
    </script>
    <script src="jqueryMobile/jquery.mobile-1.3.1.js"></script>
注意脚本的序列