Большое спасибо всем за советы. Сработали оба способа. Но раз уж лайв использовать не советуете, воспользовался callback'ом.
|
$.get("скрипт.php", function (html) { $("#div").html(html).obrabotka_diva(); }); jQuery.fn.obrabotka_diva=function () { // Тут вешаются обработчики событий и многое другое... $(this).find("img").click(function () { ... }); $(this).click(...); // Тут вешаются обработчики событий и многое другое... End return this; }; |
Roboteck,
вы что шутите? расширять jQuery дополнительным методом ради одного вызова?!!! Roboteck, micscr, может поделитесь своими соображениями, чем вы руководствуетесь, когда применяете инструменты предназначенные для массовой обработки, к такого рода задаче по одиночной обработке?! я вижу в ваших действиях в пределах темы, лишь стрельбу из пушки по воробьям |
Я вообще то так не делал раньше, но смотрю красиво выглядит, компактно.
Цитата:
А понимаю ты за такой вариант: $("#div").html(html); obrabotka_diva($("#div")); ... function obrabotka_diva($div){ $div.click(function(){}); ... } - но те кто не знает jQuery могут позапутываться в куче функций. Хотя это их проблемы, все равно нужно учитывать. |
Спасибо за критику, Вы правы!
Просто я часто использую этот метод для обработки загруженного содержимого, в данном конкретном случае это наверное лишнее, но я отвечал на Цитата:
Загрузить можно самое разное содержимое, в содержимом могут быть ссылки на другие страницы (1, 2, 3, 4, ...) при постраничном выводе, фотографии, форма, которая должна отправить post-запрос и обновить содержимое этого дива, короче очень многое, которое будет заменять содержимое и каждый раз это содержимое можно будет обработать одной функцией, например, если в див будут одновременно вставляться формы, ссылки, фотографии: $.get("скрипт.php", function (html) { $("#div").html(html).obrabotka_diva(); }); jQuery.fn.obrabotka_diva=function () // Обработка дива с разнообразным содержимым { var div=this; $(this).find("a").click(function () // Обработка ссылок { var href=$(this).attr("href"); // Запоминаем url ссылки $(div).html("Загрузка..."); // Пишем в див "Загрузка..." $.get(href, function (new_html) // Отправляем запрос на url, получаем html-код { $(div).html(new_html).obrabotka_diva(); // Вставляем в див новый html-код и обрабатываем его спомощью obrabotka_diva }); return false; // Останавливаем стандартный клик }); $(this).find("form").submit(function () // Обработка форм { var action=$(this).attr("href"); // Запоминаем url формы $(div).html("Загрузка..."); // Пишем в див "Загрузка..." $.post(action, $(this).serialize(), function (new_html) // Отправляем запрос на url, получаем html-код { $(div).html(new_html).obrabotka_diva(); // Вставляем в див новый html-код и обрабатываем его спомощью obrabotka_diva }); return false; // Останавливаем стандартную отправку данных }); $(this).find(".foto").click(function () // Обработка фотки { ... }); return this; }; |
Часовой пояс GMT +3, время: 10:24. |