ASP .NET更改转发器内的链接颜色 - 单击时

时间:2013-03-12 03:34:17

标签: javascript jquery iphone asp.net repeater

我有以下标记,我们在iphone 4上运行它,所以像Hover这样的CSS元素不起作用。

<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上运行: - )

2 个答案:

答案 0 :(得分:1)

您可以使用jQuery。

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

请参阅小提琴:http://jsfiddle.net/bMyMd/

答案 1 :(得分:1)

您使用的是所有伪类还是仅使用伪类? 如果您使用至少两个,请确保它们的顺序正确或者它们都已破坏:

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

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