Dynamiczne podpinanie zdarzeń w jQuery
January 23rd, 2009
Po przeładowaniu strony, zdarzenia w jQuery nie zawsze się podpinają. Trzeba to zrobić tak:
// Podpięcie zdarzeń po postbacku: var prm = Sys.WebForms.PageRequestManager.getInstance(); prm.add_endRequest(bindEvents); // Po załadowaniu się strony. $(document).ready(bindEvents); // Podpięcie zdarzeń. function bindEvents() { // kliknięcie na tabeli: $("table#tableElements").click(clickOnTable); }
Obsłużenie zdarzeń po np. kliknięciu na dynamicznie dodane nowe elementy:
// Ustawiam zdarzenia na tabeli. I wtedy nieważne czy się dodało dynamicznie nowe elementy. function clickOnTable(event) { var target = $(event.target); if (target.is('a.lnkEditMenu')) return clickEditMenu(target); if (target.is('a.lnkDeleteElement')) return deleteElement(target); if (target.is('a.lnkEditElement')) return editNoteElement(target); };