jQuery Mobile禁止将`ui-link`添加到`<a />`

jm2*_*jm2 8 css jquery-mobile

我注意到我的链接ui-link附加了它.干扰CSS,因为jQuery Mobile的风格不同.我可以覆盖,但我只需要删除该类.而不是在添加后删除,是否可以阻止jQuery Mobile添加类?

一种方法是http://forum.jquery.com/topic/as-still-styled-as-ui-link-despite-being-in-a-container-w-data-role-none但我不想编辑jQuery Mobile源码

Der*_*ker 10

而就在jQuery Mobile的来源V1.1.1一眼......我看到链接在增强pagecreatecreate除下列事件:

.not(".ui-btn, .ui-link-inherit, :jqmData(role='none'), :jqmData(role='nojs')")
Run Code Online (Sandbox Code Playgroud)

这意味着,您应该能够通过添加.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');
});
Run Code Online (Sandbox Code Playgroud)

  • 所有这一切都有效,并感谢你,但jQuery Mobile只是令人讨厌.它是如此具有侵入性,与jQuery相反.我可以理解是否有必要将.ui-link添加到所有锚标签,但这完全没必要.jQuery Mobile就像一些廉价的主题包而不是JavaScript移动库.这不是我对jQuery的期望. (13认同)