我已经使用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恢复时就不会了。
发布于 2010-09-08 22:06:00
Live Query仅在通过jQuery DOM操作机制进行更改时才能看到这些更改。在this answer回答类似的问题时,我努力解决了这个问题,并建议了一个基于投票的解决方法。
发布于 2010-09-08 22:11:10
尝试将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" />https://stackoverflow.com/questions/3668416
复制相似问题