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

时间:2013-02-16 20:25:31

标签: javascript jquery html5 css3 jquery-mobile

我不想要<a>标记的样式。我找到了这样的线程How to "turn off" jQuery Mobile's styling of <select> drop downs?,但我不想将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

2 个答案:

答案 0 :(得分:5)

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

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

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

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

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

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

答案 1 :(得分:5)

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

请参阅http://jsfiddle.net/zLZzA/1/