freeek
Собственно коснулся сабжа совсем недавно
Понравилась реализация
Углубляясь в дебри уперся в такую проблему,
Отрывок примерного кода:
Код:
case "var" :
$("body").append("<div id='ajax'><span class='myerr close' style='float:right; cursor:pointer;'>X</span><br><b class=head>some text</b><br><br id=aft><hr size=1>some text (<b class=warn>text</b>)<br><input size='40' maxlength='100' id='someval'><br><br><button class='btn'>press button</button><br><p class=out></p></div>");
$.post
(
"ajax.php",
{key:this.id,val:this.value},
function(data)
{
$("div#ajax").find("br#aft").after(data);
}
);
break;
Собственно при обпределенных условиях создаем элемент
Код:
div
, в последсвии наполняем его некоторыми данным, полученными от обращения к некому ajax.php.
Данные возврщенные аякс запросу имеют вид:
Код:
<input type="button" class="btn" value="someval" id=integer>
Суть проблемы: после заполнения и отображения, мне нужно работать с елементами которыми был наполнен
Код:
div#ajax
, но почему то обращаясь к елементу
Код:
$("div#ajax").find("input.btn").click(function(){alert(this.id);});
, JQ в упор его не видит, хотя елементы созданые до $.post:
Код:
$("div#ajax").find("span").click(function(){alert($("div#ajax").find("span").html());});
и любой другой в
Код:
div#ajax
JQ прекрасно видит и к ним можно легко обратиться и манипулировать.
Где ошибка?
Оффтопик: jq 1.2.6
FXIX
Оффтопик: jq 1.2.6 это что? jQuery что ли? Сидел минут 5 ломал что за приблуда такая JQAjax.
Насколько помню в версии 1.2.6 была проблема что на лету созданные DOM-элементы не цеплял обработчик (загруженный ясно дело раньше чем, созданные\выдернутые на страницу по ajax, элементы). (http://habrahabr.ru/blogs/jquery/47822/) В новой пофиксили вроде.
Some Milk
Созданные на лету элементы действительно не цепляются. Не знаю, как это сейчас, возможно, и пофиксили, но по старой памяти я в таких случаях всегда исполняю зависящий от таких вещей код через setTimeout(), с минимальной задержкой все работает.
freeek
запихал выполнение работ над создаными на лету елементами в колбэк от аякса и т.д. по иерархии и очередности создавания, все работает вроде
конечно не везде получается настолько гибко как хотелось бы, но это вопрос работы над кодом, это оставлю на потом