【问题标题】:Incorrect color on hover for jQuery Mobile ListView ItemjQuery Mobile ListView 项的悬停颜色不正确
【发布时间】:2013-03-21 21:03:08
【问题描述】:

环境

  • jQuery Mobile 1.3.0
  • Ruby on Rails 3.2.12
  • Chrome 和 Firefox 最新或接近最新版本(如果需要,可以获取确切版本)
  • OS X Lion 10.8.2

问题

在后端使用带有 Rails 的 jQuery Mobile,我得到一个奇怪的悬停效果,只有列表视图项。下图显示了列表视图项在悬停时的外观。如果我在列表视图项的右侧添加一个图标/按钮,则只有左侧有问题,如第二张图片所示。所有其他具有悬停效果的元素都可以正常工作。

证据

没有图标,悬停时(列表视图项):

带有图标,悬停时(列表视图项):

带有图标,悬停时(列表视图项目右侧图标):

问题

为什么,在悬停时,我的列表视图项目会变成丑陋的黑色,而不是其他一切似乎都可以毫无问题地处理的漂亮的悬停渐变(包括列表视图本身的图标/按钮)?

代码

以下是我的列表视图的 HAML 模板代码。

%ul{"data-filter" => "true", "data-inset" => "true", "data-role" => "listview"}
- @item.subitem.each do |item|
  %li{"data-theme" => "c"}
    %a{"data-prefetch" => "", "data-transition" => "slide", href: edit_item_subitem_path(@item, subitem), :rel => "external"}
      = item.text
      - if item.set
        %span.ui-li-count.ui-btn-up-c
          ✓

这就是 Rails/HAML 生成的:

<ul data-filter='true' data-inset='true' data-role='listview' data-split-icon='gear' data-split-theme='b'>
<li data-theme='c'>
  <a data-transition='slide' href='/items/5' rel='external'>
    Testing
    <span class='ui-li-count ui-btn-up-c'>
      2
    </span>
  </a>
  <a data-theme='c' href='/items/5/edit'>
    <span class='ui-icon ui-icon-gear ui-icon-shadow'></span>
  </a>
</li>

这里是 jQuery Mobile 生成的“计算”源代码(我省略了搜索/过滤代码):

<ul data-filter="true" data-inset="true" data-role="listview" data-split-icon="gear" data-split-theme="b" class="ui-listview ui-listview-inset ui-corner-all ui-shadow">
<li data-theme="c" data-corners="false" data-shadow="false" data-iconshadow="true" data-wrapperels="div" data-icon="false" data-iconpos="right" class="ui-btn ui-btn-icon-right ui-li ui-li-has-alt ui-li-has-count ui-first-child ui-last-child ui-btn-up-c">
    <div class="ui-btn-inner ui-li ui-li-has-alt">
        <div class="ui-btn-text">
            <a data-transition="slide" href="/items/5" rel="external" class="ui-link-inherit">
                Testing
                <span class="ui-li-count ui-btn-up-c ui-btn-corner-all">
                    2
                </span>
            </a>
        </div>
    </div>
    <a data-theme="c" href="/items/5/edit" title="" class="ui-li-link-alt ui-btn ui-btn-icon-notext ui-btn-up-c" data-corners="false" data-shadow="false" data-iconshadow="true" data-wrapperels="span" data-icon="false" data-iconpos="notext">
        <span class="ui-btn-inner">
            <span class="ui-btn-text"></span>
            <span data-corners="true" data-shadow="true" data-iconshadow="true" data-wrapperels="span" data-icon="gear" data-iconpos="notext" data-theme="c" title="" class="ui-btn ui-btn-up-c ui-shadow ui-btn-corner-all ui-btn-icon-notext">
                <span class="ui-btn-inner">
                    <span class="ui-btn-text">
                    </span>
                    <span class="ui-icon ui-icon-gear ui-icon-shadow">&nbsp;</span>
                </span>
            </span>
        </span>
    </a>
</li>
</ul>

谢谢

提前致谢,如果您需要任何其他信息,请告诉我。另外,我没有标记这个 Rails,因为我认为它与 Rails 无关,但如果我应该这样做,或者它最终成为根本原因,我会这样标记它。

【问题讨论】:

  • 你改过overlay-theme。发布您的 listview 代码可能会有所帮助。
  • @Omar 我没有。我还添加了我的列表视图代码。
  • 如果您将鼠标悬停在齿轮图标上,也会发生同样的情况?
  • @Omar 不,如果你看我的帖子,我有一个屏幕截图,显示将鼠标悬停在齿轮图标上时发生的正确行为。

标签: jquery-mobile


【解决方案1】:

好吧,事实证明,当我最初使用rails scaffold cli 命令对应用程序进行原型设计时,我不小心离开了scaffolds.css.scss。这就是问题的根源。

【讨论】:

    猜你喜欢
    • 1970-01-01
    • 1970-01-01
    • 2018-02-05
    • 2016-01-11
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    相关资源
    最近更新 更多