0

我正在使用 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,并带有一些时髦的符号:(来自页面)

<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 的范例/风格有关,但我真的不明白为什么你必须经历所有这些麻烦。

那么,哪个更好用,为什么?为什么文档推荐这种方式?

编辑:文档还说mobileinitis called immediate,所以我应该可以安全地$.mobile object在配置文件中修改后面的内容,对吧?

4

1 回答 1

1

我想我找到了原因。jQuery mobile 初始化自己并定义(= 覆盖)$.mobile变量,而不用担心它是否已经被首先设置。这就解释了mobileinit允许修改的钩子。

于 2012-07-02T22:52:24.497 回答