Хостинг. Подскажите плиз, кто хорошо разбирается в jquery и ajax

Rock-N-Roll
8 років
0

Есть html-код всплывающей подсказки:

<div class="trg"><div class="tip">Контент всплывающей подсказки</div></div>

и есть jquery-код для реализации hover-эффекта:

<script type="text/javascript">
$(document).ready(function() { $(".trg").hover(function(){ tip = $(this).find(".tip"); tip.show(); }, function() { tip.hide(); }).mousemove(function(e) { var mousex = e.pageX + 20; var mousey = e.pageY + 20; var tipWidth = tip.width(); var tipHeight = tip.height(); var tipVisX = $(window).width() - (mousex + tipWidth); var tipVisY = $(window).height() - (mousey + tipHeight); if ( tipVisX < 20 ) { mousex = e.pageX - tipWidth - 20; } if ( tipVisY < 20 ) { mousey = e.pageY - tipHeight - 20; } tip.css({ top: mousey, left: mousex }); }); });
</script>

Когда это все жестко прописано в html-коде страницы - работает отлично. Но когда html-код всплывающей подсказки (<div class="trg"><div class="tip">Контент всплывающей подсказки</div></div>) является результатом ajax-запроса, который помещается в контейнер с определенным id - не работает.

Вопрос: почему jquery-код не видит html-код всплывающей подсказки в контейнере результата ajax-запроса, а просто на странице - видит. Css-код, например, все находит и стили отображаются правильно. Что можно сделать в данном случае?

Заранее благодарен.

sonicua
8 років
0

>почему jquery-код не видит html-код всплывающей подсказки в контейнере результата ajax-запроса, а просто на странице - видит.
Потому что приведенный вами jquery-код срабатывает только по $(document).ready(), т.е. только после загрузки страницы в браузере, когда html-код всплывающей подсказки отсутствует. Вам же нужно вызывать данный код после завершения ajax-запроса или по событию complete в самом запросе.

Rock-N-Roll
8 років
0

Спасибо! Заработало :)

Тема закрита.