Не работают события после получения части страницы по Ajax..
При разработке одного и проектов столкнулся с проблемой, что код полученный на страницу Ajax запросом не доступен для обработки. Т.е. например на кнопку повешано событие которое подгружает содержимое в div, в котором в свою очередь есть обработка нажатия. Т.е. вот такой код работать НЕ будет:
Клиент:
1 2 3 4 |
$("#aaa").load("server.php"); $("#bbb").click(function(){ alert("Здрасти"); }); |
Сервер:
1 |
<div id=bbb>Нажми меня</div> |
Что делать? Решений несколько (гугл в помощь). Самое простое скрипт обработки вставить в тело подгружаемой страницы. Т.е правильно:
Клиент:
1 |
$("#aaa").load("server.php"); |
Сервер:
<div id=bbb>Нажми меня<id>
1 |
<script>$("#bbb").click(function(){ alert("Здрасти"); });</script> |
за то такой будет
$(«#aaa»).load(«server.php»);
$(«#bbb»).live(‘click’, function(){
alert(«Здрасти»);
});
или если версия jquery > 1.8
$(«#aaa»).load(«server.php»);
$(«#aaa»).on(‘click’, «#bbb», function(){
alert(«Здрасти»);
});
c live не мог дотумкать как передавать значение переменных. Тока события…