Здравствуйте, уважаемые господа программисты.
Наткнулся на небольшую проблему. Сейчас делаю миничат, для отображение сообщений использую див и через аякс загружаю туда инфу каждые 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го раза выполняется произвольное количество раз. Кто-нибудь с подобным сталкивался?