这是我想做的事情的简化版。基本上,我有一个数据列表,里面有很多东西,当你在数据列表中鼠标悬停在某个项目上时,我希望jquery隐藏/显示一些东西。问题在于,如果gridview/repeater/datalist在更新面板中,当我绑定数据后,jquery就不起作用了。
在下面的示例中,单击按钮后,使span出现的jquery停止工作。
你有任何想法为什么会发生这种情况,如何解决或更好的方法吗?
在下面的示例中,单击按钮后,使span出现的jquery停止工作。
你有任何想法为什么会发生这种情况,如何解决或更好的方法吗?
<script type="text/javascript">
$(document).ready(function() {
$('.comment-div').mouseenter(function() {
jQuery("span[class=mouse-hide]", this).fadeIn(50);
});
$('.comment-div').mouseleave(function() {
jQuery("span[class=mouse-hide]", this).fadeOut(50);
});
});
</script>
<asp:UpdatePanel ID="UpdatePanel1" runat="server">
<ContentTemplate>
<div class="comment-div">
<asp:GridView ID="GridView1" runat="server">
</asp:GridView>
<span class="mouse-hide" style="display: none;">sdfgsdfgsdfgsdfg</span>
</div>
<asp:Button ID="Button1" runat="server" Text="Button" OnClick="Button1_Click" />
</ContentTemplate>
</asp:UpdatePanel>
代码后台:
protected void Page_Load(object sender, EventArgs e)
{
if (!Page.IsPostBack)
{
BindStuff();
}
}
public void BindStuff()
{
TestDB db = new TestDB();
var x = from p in db.TestFiles
select new { p.filename};
x = x.Take(20);
GridView1.DataSource = x;
GridView1.DataBind();
}
protected void Button1_Click(object sender, EventArgs e)
{
BindStuff();
}