我使用LiveQuery来检测元素何时添加到页面中。该元素位于.NET AJAX UpdatePanel中。刷新UpdatePanel时,实时查询不会检测到新元素。
<asp:UpdatePanel runat="server">
<Triggers>
<asp:AsyncPostBackTrigger ControlID="refresh" />
</Triggers>
<ContentTemplate>
<a id="but1" href="#">Button 1</a>
</ContentTemplate>
</asp:UpdatePanel>
$('#but1').livequery(function(event) {
alert('Button added');
});
警报仅在首次加载页面时触发。不是在刷新udpatepanel时。
答案 0 :(得分:0)
Live Query仅在通过jQuery DOM操作机制进行更改时才会看到您的更改。在this answer类似的问题中,我努力解决这个问题,并建议采用基于投票的解决方法。
答案 1 :(得分:0)
尝试将jquery代码包装在pageLoad中,如下所示:
function pageLoad()
{
$(document).ready(function () {
$('[id$=but1]').livequery(function(event) {
alert('Button added');
});
});
}
您需要在ScriptManager标记中添加EnablePageMethods =“true”:
<asp:ScriptManager ID="ScriptManager1" runat="server" EnablePageMethods="true" />