我注意到我的链接附加了ui-link.干扰CSS,因为jQuery Mobile的风格不同.我可以覆盖,但我只需要删除该类.而不是在添加后删除,是否可以阻止jQuery Mobile添加类?
一种方法是http://forum.jquery.com/topic/a-s-still-styled-as-ui-link-despite-being-in-a-container-w-data-role-none,但我不想编辑jQuery Mobile源
解决方法
只需看一下v1.1.1的jQuery Mobile源代码……我看到链接在页面创建中得到了增强,并创建了除以下内容之外的事件:
.not(".ui-btn,.ui-link-inherit,:jqmData(role='none'),:jqmData(role='nojs')")
这意味着,您应该能够通过添加.ui-btn或.ui-link-inherit类或向链接添加data-role =“none”或data-role =“nojs”属性来避免增强.
它还在链接上调用.jqmEnhanceable(),后者又调用$.mobile.enhanceable()并检查以确保通过遍历父元素来增强它.您是否尝试将data-role =“none”添加到链接本身或包装元素?
当然,您可以在jQuery Mobile初始化之后删除这些类,但是,我建议不要这样做,因为它可能会对某些jQM的功能产生负面影响.我猜想jQM使用.ui-link不仅仅是造型.
$(document).bind('pageinit',function(event){ $('.ui-link').removeClass('ui-link'); });