【问题标题】:ASP .NET Change link color inside a repeater - on clicking [duplicate]ASP .NET 更改中继器内的链接颜色 - 单击 [重复]
【发布时间】:2013-02-27 11:17:11
【问题描述】:

我有以下标记,我们在 iphone 4 上运行它,因此某些 CSS 元素(如 Hover)不起作用。

<asp:Repeater ID="rpt" runat="server">
    <HeaderTemplate>
        <div class="table withshadow">
    </HeaderTemplate>
    <ItemTemplate>
         <a href='<%#Eval("HistoryTeacherURL")%>' class="tablerow list navigate">
            <div class="tablecell listitem left">
                <asp:Label ID="lblDesc" Text='<%#Eval("Name")%>' runat="server" CssClass="item" /><br />                    
            </div>                            
            <div class="tablecell listitem right">
                <touch:TutorialSheets ID="lblBal" Text='<%#Eval("Tutorial")%>' runat="server" CssClass="amount item" />
            </div>
            <div  class="tablecell listitem witharrow">                        
            </div>
         </a>
    </ItemTemplate>
    <FooterTemplate>
        </div>
    </FooterTemplate>
</asp:Repeater>

我们想要的是当我们点击链接时,颜色应该变成红色!问题是这种类型的 CSS 可以在 firefox 上运行,但不能在 iphone 4 上运行。

a:active
{    
    background-color: #31ac48;
    font-color: #ffffff;
}

很高兴看到这个问题的替代解决方案(javascript、jquery 等),以便其中至少一个可以在 iphone 4 上运行 :-)

【问题讨论】:

    标签: javascript jquery iphone asp.net repeater


    【解决方案1】:

    你可以使用 jQuery。

    $("a").click(function() {
        if $(this).is(":active") {
            (this).css("font-color", "red");
        }
    });
    

    见小提琴:http://jsfiddle.net/bMyMd/

    【讨论】:

    • 我们使用了不同的方法(类似于您的想法)。感谢 jsfiddle 链接。
    【解决方案2】:

    您是使用所有伪类还是只使用一个?
    如果您至少使用两个,请确保它们的顺序正确,否则它们都会损坏:

    a:link
    a:visited
    a:hover
    a:active
    

    按这个顺序。此外,如果您只是使用:active,请添加a:link,即使您没有对其进行样式设置。

    【讨论】:

      猜你喜欢
      • 1970-01-01
      • 2015-05-04
      • 2013-10-16
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      相关资源
      最近更新 更多