Вы можете использовать функцию jQuery 1.3 + $().live(event, function)
. $("a").live("click", myClickFunc)
будет привязывать myClickFunc
точно так же, как $("a").click(myClickFunc)
или $("a").bind("click", myClickFunc)
, но события будут привязаны "вживую", поэтому элементы, добавленные в DOM после этого вызова функции, также будут связаны.
Вы можете удалить связанные события в реальном времени с помощью $().die()
.
Для получения дополнительной информации о $ (). Live см. документацию для него .
Другой вариант - иметь функцию для привязки элементов в определенном контексте (используя редко используемый второй параметр функции $ selector):
function myBindEvents(context) {
$("a", context).click(myClickFunc);
}
и вызывайте его всякий раз, когда вы обновляете элемент с помощью AJAX:
$("<div>").load("...", "...", function(){myBindEvents(this);});
Надеюсь, это поможет. :)