0

我使用 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 时。

4

2 回答 2

0

Live Query 仅在通过 jQuery DOM 操作机制进行更改时才能看到您的更改。在对类似问题的回答中,我遇到了这个问题,并提出了一种基于轮询的解决方法

于 2010-09-08T14:05:59.560 回答
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" />
于 2010-09-08T14:11:09.820 回答