jQuery Mobile:显式覆盖所有角的舍入

jQuery Mobile:显式覆盖所有角的舍入,jquery,jquery-mobile,rounded-corners,Jquery,Jquery Mobile,Rounded Corners,jquerymobile通过添加类ui-corner-all,自动将输入元素的所有角包围起来。我注意到,如果我在Chrome inspector中将这个类手动更改为ui左角,那么我只正确地得到左侧(顶部和底部)的圆角。这当然可以通过一行jQuery轻松完成,例如 $('#myid').removeClass('ui-corner-all').addClass('ui-corner-left'); 我的问题是,有没有一种方法可以让jQuery Mobile直接应用这个类,而不必在JQM完成它的工

jquerymobile通过添加类
ui-corner-all
,自动将输入元素的所有角包围起来。我注意到,如果我在Chrome inspector中将这个类手动更改为
ui左角
,那么我只正确地得到左侧(顶部和底部)的圆角。这当然可以通过一行jQuery轻松完成,例如

$('#myid').removeClass('ui-corner-all').addClass('ui-corner-left');

我的问题是,有没有一种方法可以让jQuery Mobile直接应用这个类,而不必在JQM完成它的工作后执行额外的代码?

基本上可以应用下面的内容,但您关心的是在不执行额外代码的情况下运行,让我们看看我们是否有机会获得它,即使我在看相同的问题,但以下是我的解决方案

$('div').live('pageshow',function(event){
     $('#myid').removeClass('ui-corner-all').addClass('ui-corner-left');
});

通过在index.html文件中指定所需的jquery mobile类,可以覆盖默认值。一个很好的例子是,而不是:

<ul id='myid' data-inset='true' data-theme='a' data-role='listview'  class='ui-listview ui-listview-inset ui-shadow'>
然后,您将添加自己的类:

<ul id='myid' data-inset='true' data-theme='a' data-role='listview'  class='ui-listview ui-corner-left ui-listview-inset ui-shadow'>

然后在页面完全显示后隐藏消息。

嘿,你可以这样做

  <a  href="#panel"  data-corners="false"></a>


您可以修改JQM源代码以用另一个类替换一个类,也可以修改JQM css以使ui角按您希望的方式工作。但我认为你目前的解决方案应该是好的。为什么只关注一行代码?您看到页面加载时JQM已经完成了多少工作了吗?这一点点代码不应该引起那么多的麻烦。是的,你是对的——JQM已经运行了太多的代码,以至于一行代码实际上不会对性能产生影响。我真正的动机是努力保持UI的集中化和“声明性”。但是有了这个解决方案,我的UI不仅在CSS和标记本身之间,而且在一些奇怪的JS代码之间被分割;将其包装在
pageshow
处理程序中与我的问题无关。
$("#my_page_id").live("pagecreate",function(){
    var ul = $("<ul id='myid' data-inset='true' data-theme='a' data-role='listview'  class='ui-listview ui-listview-inset ui-corner-left ui-shadow'>");
    ul.append($('<li class="ui-li ui-li-static  ui-body-a ui-corner-left">').append("Code Slayer!!!"));
    $('mydiv_in_mypage').html(ul);   
$.mobile.showPageLoadingMsg('a','Page Loading', true);
  <a  href="#panel"  data-corners="false"></a>