.load() - как в загруженном содержимом использовать jquery?
Такая проблема встала:
Делаю каталог, там товары выводятся, при клике на товар я вывожу див (наподобие лайтбокса допустим) поверх всего сайта, в этом диве вся информация о данном товаре, эта информация берется из бд (для этого .load). Т.е. у меня есть отдельный скрипт, в котором выводится вот это содержимое дива. И именно его я подгружаю в .load() У каждого товара 3 картинки, и я хочу чтобы в этом подгруженном содержимом можно было покодить что-нибудь с помощью jquery (ну допустим 3 маленькие картинки, одна большая, и хочется прощелкаться по этим картинкам, чтобы они становились большими). Ну это даже не так важно, что именно делать, просто вопрос принципиальный как раз в том, как взаимодействовать с подгруженным содержимым? Я совсем только начал изучать jq, поэтому даже не пробовал, может с $ajax по-другому получится... В любом случае, буду благодарен любым советам. |
А какая разница? Вы получили кусок хтмл, который добавился на страницу и jQuery имеет к нему такой же доступ, как и ко всему прочему. Работайте как и раньше - выбирайте нужные элементы по id или классу и т.д.
Цитата:
|
Цитата:
function loadDiv(){ .... $("#output").load(...); //допустим лоудом вставляем див с id="div" .... }; $("#div").click(function(){ .... // что-то делает ... }) При клике по по элементу с id="div", который был подгружен .load()-ом скрипт не сработает, просто не найдет элемент с таким id. PS: в JS начинающий, но с этой проблемой уже сталкивался. |
Во первых функция load(url, data, callback) имеет третий аргумент - функцию где можно что то сделать после прихода ответа с сервера.
Во вторых, то что это $("#div").click(function ... не работает - делать: $("#div").live('click', function ... |
micscr,
ну, и вот зачем ты плохому учишь человека? Беляш, помещай $("#div").click(function внутри ф-ции обработчике ajax-запроса и вообще, лучше сперва выучи JavaScript Нормально, а потом уже учи jQuery это плохая идея начинать изучение с него |
Цитата:
|
Цитата:
и человек привыкнув будет долго думать почему у него при движении мышкой все тормозит, к примеру к тому же данного случая считаю Live неоправданным и ненужным. |
Цитата:
Начинать изучение языка с одного из его фреймворков - дурной тон, это понятно. Просто так получилось, что пока нет желания/возможности/времени головой окунаться в недры JS, а для верстки и AJAX'а пока вполне достаточно возможностей jQuery. |
Цитата:
Когда использование live будет оправданным? |
Цитата:
Цитата:
- события не связанные с движением мыши, и печатанием на клавиаутуре. хотя есть ситуации, когда в такой ситуации надо повесить live, но надо быть осторожным, так как такое использование может затормозить браузер. Особенно mousemove. - у вас есть достаточно большое количество объектов, для которых надо повесить единый обработчик. например "виртуальная клавиатура", динамическое дерево, выпадающие многоуровневые меню, всякого рода карты с областями, элементы списков чем больше количество однотипных объектов обрабатывается, тем выше скорость при повешении/снятия события - особенно полезно, если эта куча объектов является динамической, и могут исчезать/добавлятся новые объекты. Например AJAX-дерево и главное не забывать снять обработчик события, если на странице уже точно нету ни одного обрабатываемого объекта. кажется все. больше поводов использовать live не вижу ну и уж никак не стоит назначать его для одиночного элемента по id-шнику |
Часовой пояс GMT +3, время: 21:32. |