<script type="text/javascript" src="/Scripts/jquery-1.8.2.min.js"></script>
<script type="text/javascript" src="/Scripts/jquery.mobile-1.2.0.min.js"></script>
<script type="text/javascript">
console.log(jQuery.mobile !== undefined && 'good'); // prints 'good'!
</script>
<script type="text/javascript" data-main="/comp/pages/Index.js" src="/Scripts/require.js></script>
<script type="text/javascript">
console.log(jQuery.mobile !== undefined && 'good'); // prints 'good'!
</script>
但是在我的Index.js
中,jQuery.mobile
消失了:
require([], function (view) {
console.log(jQuery.mobile === undefined && 'undefined!'); // prints 'undefined!'
});
如何将mobile
带回jQuery
? (我显然不关心mobile
中的某些 jQuery
,但有兴趣将jQuery Mobile
与RequireJS
一起使用..只是为了制作它清楚..)
我尝试将require
添加到Index.js:
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!'
});
答案 0 :(得分:1)
你是如何设法加载index.js的?
RequireJS将.js添加到文件中,因此您应该使用/comp/pages/Index.js
而不是/comp/pages/Index
<script type="text/javascript" data-main="/comp/pages/Index" src="/Scripts/require.js></script>
:
{{1}}
答案 1 :(得分:0)
我假设您正确设置了RequireJS和jQuery。
在Index.js文件中,您需要需要jQuery和jQuery移动文件;例如:
require ("/Scripts/jquery");
require ("/Scripts/jquery.mobile");
我还要指出,您应该重命名文件,以便版本号不包含在文件名中 - 这样您就可以更新到新版本,而无需更改代码。
答案 2 :(得分:0)
尝试使用旧版本的jQuery Mobile。
jQuery 1.8.2不能与RequireJS一起使用,也可能是最新版本的jQuery Mobile。
您还必须确保在代码中需要jQuery和jQuery mobile JS文件。
我认为你应该查看这个帖子: How do I use requireJS and jQuery together?
罗布
答案 3 :(得分:0)
这是我的解决方法,因为最新的,我没有找到解决方案:我将全局jQuery
对象/函数包含在HTML
中的全局变量{{ 1}}:
myGlobalObject
然后我定义了一个新文件<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>
,它以jq.js
熟悉的形式返回此全局对象:
RequireJS
每当我需要它时,我都会使用这个“中间”模块:
define(function(){
return myGlobalObject.jQuery;
});