Доступ к динамическому содержанию дива
Здравствуйте, уважаемые господа программисты.
Наткнулся на небольшую проблему. Сейчас делаю миничат, для отображение сообщений использую див и через аякс загружаю туда инфу каждые 5 сек. Вот див куда поступают сообщения, ничего сложного :)(Див в оригинале пустой, но привожу пример структуры сообщений) <div id='wrap'> <div id='chat'> <p><span class='nick'> NICKNAME</span>: <span class=message>MESSAGE</span></p> </div> </div> Вот функция обновления чата function refreshChat(){ $.ajax({ url:'obnovit.php', data:'id=".$_GET['name']."', cache:false, success:function(html) { $('#chat').html(html); document.getElementById( 'chat' ).scrollTop=99999; setTimeout(refreshChat,5000); } }); } Но какой же чат без бана :) И вот тут начинается самое интересное. Задумка: для модера я предоставляю функцию- при клике на ник-нэйме в поле с сообщениями, выезжает окошко, где можно выбрать меру наказания. Основа функции $('.nick').click(function(){ }) Но так дело не идет - ф-ция не работает при клике на ник-нейм в чате. Если такой же класс разместить в любом другом месте документа,то клик работает. Я уже думал, что скрипты не имеют доступа к динамическому контенту, но попробовав $(document).click(function(){ $('.nick').html(''); }) убедился, что до перезагрузки окна чата, все ник-неймы были успешно удалены. Чисто интуитивно решил втулить функцию в функцию function refreshChat(){ $.ajax({ url:'obnovit.php', data:'id=".$_GET['name']."', cache:false, success:function(html) { $('#chat').html(html); document.getElementById( 'chat' ).scrollTop=99999; setTimeout(refreshChat,5000); $('.nick').click(function(){ }) } }); } И функция заработала , ура...но такая реализация есть извращение,плюс эта функция имеет свой аякс запрос, который вместо 1го раза выполняется произвольное количество раз. Кто-нибудь с подобным сталкивался? |
Коротко и ясно :dance: Спасибо.
|
Часовой пояс GMT +3, время: 04:00. |