這是我想要做的簡化版本。基本上我有一個datalist與一堆東西在裏面,當你在datalist中的鼠標懸停的項目,我想jquery隱藏/顯示的東西。問題是,如果gridview/repeater/datalist在更新面板中,我禁用了gridview/repeater/datalist jquery後會停止工作。UpdatePanel打破JQuery腳本
在下面的示例中單擊按鈕後,當鼠標懸停在工作狀態時,會顯示該跨度的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();
}
感謝您的代碼片段。 +1 – Jason 2010-07-07 22:16:51