jQuery Mobile禁用某些标签的增强功能?

Rae*_*kye 3 javascript jquery html5 css3 jquery-mobile

我不想要<a>标签的样式.我发现这样的线程如何"关闭"jQuery Mobile的<select>下拉样式?但我不想加入data-enhance=false我拥有的每一个锚.我也希望linkBindingEnabled能够工作(来自http://jquerymobile.com/demos/1.2.0/docs/api/globalconfig.html),因为它不会向<a>标签添加自定义类.

我可以删除CSS文件中的定义,但我更喜欢以编程方式来完成它.例如,我注释掉.ui-body-c .ui-link(默认链接),但页脚中的链接仍然是增强的.我确信还有其他一些小案例,而且我不想让它变得混乱(尽管有时这是唯一的选择)

基本上,有没有办法禁用元素"选择器"的增强?而不是手动添加data-enhance=false

Gaj*_*res 5

有几种方法可以禁用标记增强,jQuery Mobile但在您的情况下,只有一个单行解决方案:

$(document).on('pagebeforeshow', '#index', function(){       
   $('a').removeClass('ui-link');
});
Run Code Online (Sandbox Code Playgroud)

jsFiddle示例:http://jsfiddle.net/Gajotres/L4KUT/

其他解决方案可以在我的其他文章中找到,透明它是我的个人博客.或者在这里找到它.搜索名为:标记增强预防方法的章节 .

在那里你会找到一个如何在选择器级别禁用它的答案,不幸的是它只适用于本机表单元素,而标签不是本机表单元素:

$(document).bind('mobileinit',function(){
     $.mobile.page.prototype.options.keepNative = "select, input";
});  
Run Code Online (Sandbox Code Playgroud)


sta*_*abm 5

要禁用select组件的增强,您可以data-role='none'在jQuery Mobile 1.4.2上添加,测试.

http://jsfiddle.net/zLZzA/1/