与Jquery Mobile自动初始化共同协作 Working with Jquery Mobile's Auto-initialization
mobileinit事件
$(document).bind("mobileinit", function(){
//覆盖的代码
});
因为mobileinit事件是在执行后马上触发,所以你需要在Jquery Mobile加载之前绑定你的事件处理函数,所以我建议你如下安排你的js引用顺序。
<script src="Jquery.js"></script>
<script src="custom-scripting.js"></script>
<script src="Jquery-mobile.js"></script>
在事件绑定内部,你可以设置你的默认配置,或者是使用jq的$.extend方法扩展 $.mobile对象
$(document).bind("mobileinit", function(){
$.extend( $.mobile , {
foo: bar
});
});
或者单独设置它
$(document).bind("mobileinit", function(){
$.mobile.foo = bar;
});
设置选项
ns
(字符, 默认: ""):
按照data-属性格式安排的命名空间,例如:data-role,可以设置为任何东西,默认为空字符串。如果你包含一个面包屑的话用起来会比较明晰,比如 mynamespace-",会映射到 data-mynamespace-foo="...".
注意:如果你使用了data-命名空间,你需要在主题的css中手动的更新/覆盖一个选择器。按照以下格式把命名空间并并入到命名空间中。
.ui-mobile [data-mynamespace-role=page], .ui-mobile [data-mynamespace-role=dialog], .ui-page { ...
autoInitializePage
布尔值,默认: true
当DOM加载完成时,JQM框架会自动调用$.mobile.initializePage方法。如果设为False,page则不会自动初始化,在视觉上就会是隐藏的,直到 $.mobile.initializePage 方法被手动调用。
subPageUrlKey
字符串,默认: “ui-page”
URL参数用来指向那些由组件生成的子页面(比如嵌套的列表)会被解释成例如example.html&ui-page=subpageIdentifier。在&ui-page=之前的哈希值会被框架向此URL地址做AJAX请求。
activePageClass
字符串,默认: “ui-page-active”
给当前页面(包括转场中的) 分配class
activeBtnClass
字符串,默认: “ ui-btn-active ”
给活动状态的按钮分配class值,该class值必须在css框架中存在
ajaxEnabled
(布尔值, 默认: true):
Jquery Mobile 会自动通过ajax处理链接点击以及表单提交?如果无法处理,url hash 监听将会被禁用,url也会像常规那样发出HTTP 请求.
hashListeningEnabled
(布尔值, 默认: true):
Jquery Mobile 会自动监听与处理 location.hash的改变。禁用它会防止Jquery Mobile处理 location.hash的改变。使你可以自己处理他们,或者在文档中用完整的链接地址指到一个特定的id值上。
pushStateEnabled
(布尔值, 默认: true):
在支持的浏览器上使用 history.replaceState这个增强特性,把基于哈希值的AJAX请求转化为完整的地址。注意,我们建议在AJAX不可用,或者是使用外部链接的的情况下,关闭这个特性。
defaultPageTransition
字符串,默认: “ slide ”
设定使用AJAX进行页面转场的默认的转场效果。设为"NONE"的话则默认没有转场的动画。
minScrollBack
字符串,默认: “ 150 ”
返回一个页面的最小的卷动距离。
loadingMessage
字符串,默认: “ loading ”
页面加载的时候默认显示的文字。设为false的话,提示信息将不显示。
pageLoadErrorMessage
字符串,默认: “ Error Loading Page ”
设置当AJAX加载错误的情况下显示的信息。
gradeA
(返回一个布尔值, 默认: 返回$.support.mediaquery的值:
浏览器必须符合所有支持的条件才会返回 true.