jquery не работает после асинхронной обратной передачи
Я делаю асинхронную обратную передачу с помощью updatepanel. после асинхронной обратной передачи функциональность jQuery не работает.Я использую jQuery для подключения некоторых эффектов mousedown mouseenter к ячейкам таблицы html, которые находятся внутри UpdatePanel. События связаны в $(документ).готов
<script type="text/javascript">
$(function ()
{
$(".csstablelisttd").mousedown(function (e)
{
//mouse down code
});
$(".csstablelisttd").mouseenter(function (e)
{
//mouse entercode
});
$("#contentPlaceHolderMain_btnFix").click(function (e)
{alert("Alert");//here alert is generate two times an then postback occurs
//btn click code
}
}
</script>
<asp:UpdatePanel ID="updatePanelTableAppointment" runat="server">
<ContentTemplate>
<table id="table" runat="server">
//table data
</table>
</ContentTemplate><Triggers>
<asp:AsyncPostBackTrigger ControlID="btnFix" EventName="Click" />
</Triggers>
</asp:UpdatePanel>
2 ответов:
asp:UpdatePanelзаменяет содержимое результатом, возвращенным с сервера. Это означает, что все ранее подключенные события не будут работать после обратной записи.Использование
jQuery.on()вместо этого.Например:
<script type="text/javascript"> $(function () { $("#table").on("mousedown mouseenter", ".csstablelisttd", function (e) { //mouse down AND mouse enter code }); $("#contentPlaceHolderMain_btnFix").on("click", function (e) { alert("Alert");//here alert is generate two times an then postback occurs //btn click code }); }); </script>Примечание: Если ваш мышь вниз и мышь введите код отличаются, разделить их.
Сделайте то же самое для каждого включенного вами Хука событий, который будет существовать в пределах
UpdatePanel.
Вам придется добавить обработчик событий для ajax endRequest, предоставляемый Toolkit. Читайте дальше здесь
Добавьте в Javascript блок, который выполняется при загрузке страницы.
Sys.WebForms.PageRequestManager.getInstance().add_endRequest(endRequestHandle); function endRequestHandle(sender, Args) { alert("After ajax call"); }
Comments