我对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变量的按钮数据值
请指教,
答案 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>注意脚本的序列