Onmouseover手形图标不显示

时间:2012-07-27 17:30:58

标签: asp.net onmouseover onmouseout

我有一个gridview:

    <asp:GridView ID="gvwProd" runat="server" CssClass="gridview" ShowHeaderWhenEmpty="true"
                                        AllowPaging="true" BackColor="ButtonFace" OnRowDataBound="gvwProd_OnRowDataBound"
                                        OnRowCreated="gvwProd_RowCreated" OnSorting="gvw_OnSorting" AllowSorting="true"
                                        AutoGenerateColumns="false" ShowFooter="false">

我正在尝试为每行上的特定单元格设置一个手动悬停图标:

protected void gvwProd_OnRowDataBound(object sender, GridViewRowEventArgs e)
{
    if (e.Row.RowType == DataControlRowType.DataRow)
    {
        e.Row.Cells[2].Attributes.Add("onmouseover", "document.body.style.cursor='hand'");
        e.Row.Cells[2].Attributes.Add("onmouseout", "document.body.style.cursor='auto'");
    }
}

onmousover和onmouseout事件出现在标记中:

    <td onmouseover="document.body.style.cursor=&#39;hand&#39;" onmouseout="document.body.style.cursor=&#39;auto&#39;" style="white-space:nowrap;">05-07-2012</td>

然而,手上没有明显的痕迹,似乎没有任何事情发生。我究竟做错了什么?使用IE 8

1 个答案:

答案 0 :(得分:4)

首先:使用cursor: pointer而非cursor: hand(如果您希望它可以在多个浏览器中使用)

第二:不使用document.body  我会使用this

e.Row.Cells[2].Attributes.Add("onmouseover", "this.style.cursor='pointer'");

因为您希望光标在单元格上移动。