默认配置

优质
小牛编辑
133浏览
2023-12-01

与Jquery Mobile自动初始化共同协作 Working with Jquery Mobile's Auto-initialization

不像其他的Jq项目,比如jq和jq ui,Jquery Mobile会在加载到增强特性时马上应用它(远早于document.ready事件发生时)。这些特性会基于Jquery Mobile的默认配置应用,是针对默认的情形设计的,他可能符合你的需求,也可能不符合。幸运的是,它很容易设置

mobileinit事件

当Jquery Mobile开始执行时,他就会在document对象上触发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;
});

设置选项

以下的默认配置可以通过$.mobile对象重新配置

ns (_字符_, 默认: ""):

按照data-属性格式安排的命名空间,例如:data-role,可以设置为任何东西,默认为空字符串。如果你包含一个面包屑的话用起来会比较明晰,比如 mynamespace-",会映射到 data-mynamespace-foo="...".

subPageUrlKey (_字符串,_默认: "ui-page"):

url参数用来指向组件产生的子页面(比如生成的嵌套的列表)。会被转义为example.html&ui-page=subpageIdentifier.Jquery Mobile会把 &ui-page=之前的部分用来向子页面的url地址发出ajax请求

nonHistorySelectors (_字符串_, 默认: "dialog"):

对于带有 data-rel 属性的链接,或? data-role 属性的页面,如果选择器与之匹配,则他们不会在历史记录中被追踪 (即它们不会在location.hash中被更新,也不能加入到收藏夹?.

activePageClass (**_字符_串**, 默认: "ui-page-active"):

给当前页面(包括转场中的) 分配class

activeBtnClass (_字符串_, 默认: "ui-page-active"):

给活动状态的按钮分配class值,该class值必须在css框架中存

ajaxEnabled (_布尔值_, 默认: true):

Jquery Mobile 会自动通过ajax处理链接点击以及表单提交?如果无法处理,url hash 监听将会被禁用,url也会像常规那样发出HTTP 请求.

ajaxLinksEnabled (_布尔值_, 默认: true):

可行时,Jquery Mobile 就会自动通过ajax处理链接的点击

ajaxFormsEnabled (_布尔值_, 默认: true):

可行时,Jquery Mobile 就会自动通过ajax处理表单的提交

hashListeningEnabled (_布尔值_, 默认: true):

Jquery Mobile 会自动监听与处理 location.hash的改变。禁用它会防止Jquery Mobile处理 location.hash的改?使你可以自己处理他们,或者在文档中用完整的链接地址指到一个特定的id值上

defaultTransition (_字符串_, 默认: 'slide'):

设置默认的页面之间的转场效果。默认的对话框的转场效果为”pop?设为none,则无转场效果

loadingMessage (_字符串_, 默认: "loading"):

设置页面加载时显示的文本. 如果设置为false 将不会显示任何文字

pageLoadErrorMessage (_字符串_, 默认: "Error Loading Page"):

通过ajax加载页面失败时出现的文本

gradeA (_返回一个布尔值_, 默认: 返回$.support.mediaquery的值:

浏览器必须符合所有支持的条件才会返回 true.