Вопрос

Я использовал LiveQuery для обнаружения, когда элемент добавлен на страницу. Элемент находится внутри .NET AJAX UpdatePanel. Когда обновленная панель обновления обновляется, Live Query не обнаруживает новый элемент.

        <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');
    });

Предупреждение только загоняет, когда страница сначала загружена. Не когда удпатепанель обновляется.

Это было полезно?

Решение

Live Query видит только ваши изменения, когда они сделаны через механизмы манипулирования JQUERY DOM. В Этот ответ К аналогичным вопросам я боролся с этой проблемой и предложил обходной путь на основе опроса.

Другие советы

Попробуйте упасть код jQuery внутри понравившейся нагрузке:

function pageLoad()
{
    $(document).ready(function () {
        $('[id$=but1]').livequery(function(event) {
            alert('Button added');
        });
    });
}

Вам нужно будет добавить EnablePageMethods = «True» внутри вашего Tag ScriptManager:

<asp:ScriptManager ID="ScriptManager1" runat="server" EnablePageMethods="true" />
Лицензировано под: CC-BY-SA с атрибуция
Не связан с StackOverflow
scroll top