Javascript 如何将jQuery Mobile与RequireJS结合使用?
如何将Javascript 如何将jQuery Mobile与RequireJS结合使用?,javascript,jquery,jquery-mobile,requirejs,Javascript,Jquery,Jquery Mobile,Requirejs,如何将mobile带回jQuery?(我显然不在乎在jQuery中有一些
mobile
带回jQuery
?(我显然不在乎在jQuery
中有一些
,但我有兴趣将jQuery mobile
与RequireJS
一起使用。我只想说清楚..)
编辑1:
我试图将require
添加到Index.js:
require([], function (view) {
console.log(jQuery.mobile === undefined && 'undefined!'); // prints 'undefined!'
});
我假设您已经正确地设置了RequireJS和jQuery 在Index.js文件中,需要jQuery和jQuery mobile文件;例如:
console.log(jQuery.mobile === undefined && 'undefined!'); // prints 'undefined!'
require(['/Scripts/jquery-1.8.2.min.js', '/Scripts/jquery.mobile-1.2.0.min.js'],
function (jQuery,jqm, view) {
console.log(jQuery.mobile === undefined && 'undefined!'); // prints 'undefined!'
});
我还将指出,您应该重命名您的文件,以便文件名中不包含版本号-这将允许您更新到较新的版本,而无需更改代码。首先尝试使用较旧版本的jQuery Mobile jQuery 1.8.2不适用于RequireJS,最新版本的jQuery Mobile也可能如此 您还必须确保在代码中需要jQuery和jQuery mobile JS文件 我想你应该看看这个帖子:
Rob您是如何加载index.js的?
RequireJS将.js添加到文件中,因此您应该使用
/comp/pages/Index
:
require ("/Scripts/jquery");
require ("/Scripts/jquery.mobile");
这是我的解决方法,因为到目前为止,我还没有找到解决方案:在将全局jQuery
对象/函数包含在HTML
中后,我立即将其保存在全局变量myGlobalObject
中:
<script type="text/javascript" data-main="/comp/pages/Index" src="/Scripts/require.js></script>
无论何时我需要它,我都会使用这个“中间”模块:
它是否记录未定义的日志以引发未定义的异常?jQuery是否在您的函数中定义?抱歉,我没有问正确的问题:它记录未定义的日志还是引发未定义的异常?@Naor:it日志:console.log(jQuery.mobile===undefined&&undefined!')代码>。再说一遍,为什么?我试过了jquery1.6.4
和jquerymobile1.0
。我需要改为使用吗?我添加了一个指向另一个(非常类似)线程的链接,我认为这应该可以解决您的问题,请查看。我相信如果存在.js扩展,RequireJS足够聪明,可以处理。
<script type="text/javascript" data-main="/comp/pages/Index" src="/Scripts/require.js></script>
<link rel="stylesheet" href="content/jqm/jquery.mobile-min.css"/>
<script src="content/jqm/jquery.min.js" type="text/javascript"></script>
<script src="content/jqm/jquery.mobile-min.js" type="text/javascript"></script>
<!--jQuery RequireJS issue workaround:-->
<script type="text/javascript"> window.myGlobalObject = { jQuery:jQuery }; </script>
define(function(){
return myGlobalObject.jQuery;
});
require(['/content/jq.js'], function ($) {
...
});