我正在使用jQuery Mobile并希望转向Ajax处理,因为它对我的页面做了一些时髦的东西。我从
开始<script src="jquery..."></script>
<script src="jquerymobile..."></script>
Some other stuff...
My own code:
<script src="config.js"></script>
My other javascript files...
我的想法是你定义了顶部的库等全局内容,以及底部的细节,以便稍后呈现它们并“覆盖”全局属性。例如,我自己的CSS将覆盖jQuery的CSS,我的config
文件将执行:
$.mobile.ajaxEnabled = false;
成功禁用了ajax处理。
但是,http://jquerymobile.com/demos/1.1.0/docs/api/globalconfig.html表示要覆盖配置文件中的默认值 jQuery mobile src
'd,并使用一些时髦的表示法:(来自页面)
<script src="jquery.js"></script>
<script src="custom-scripting.js"></script>
<script src="jquery-mobile.js"></script>
//custom-scripting.js
$(document).bind("mobileinit", function(){
$.extend( $.mobile , {
foo: bar
});
});
我的问题是为什么在$.mobile.ajaxEnabled = false;
之后只需在配置文件中包含单行jquery-mobile.js
时这样做?我认为它与Javascript的范例/风格有关,什么不是,但我真的不明白为什么你必须经历所有麻烦。
那么,哪一个更好用,为什么?为什么文档会这样推荐?
编辑:
文档还说立即调用 mobileinit
,所以我应该在配置文件中安全地修改$.mobile object
吗?
答案 0 :(得分:1)
我想我找到了原因。 jQuery mobile初始化自己并定义(=覆盖)$.mobile
变量,而不用担心它是否已经先设置。
这解释了允许修改的mobileinit
钩子。