Javascript.RU

Создать новую тему Ответ
 
Опции темы Искать в теме
  #1 (permalink)  
Старый 15.02.2012, 02:31
Новичок на форуме
Отправить личное сообщение для Dmitri Посмотреть профиль Найти все сообщения от Dmitri
 
Регистрация: 15.02.2012
Сообщений: 3

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

Последний раз редактировалось Dmitri, 15.02.2012 в 02:44.
Ответить с цитированием
  #2 (permalink)  
Старый 15.02.2012, 12:14
Новичок на форуме
Отправить личное сообщение для Dmitri Посмотреть профиль Найти все сообщения от Dmitri
 
Регистрация: 15.02.2012
Сообщений: 3

Коротко и ясно Спасибо.
Ответить с цитированием
Ответ



Опции темы Искать в теме
Искать в теме:

Расширенный поиск


Похожие темы
Тема Автор Раздел Ответов Последнее сообщение
userJS доступ к переменным страницы (Chrome) DragorWW Opera, Safari и др. 2 13.07.2011 15:33
padding-left увеличивает ширину дива cmygeHm (X)HTML/CSS 4 26.05.2011 00:45
Как в jQuery получить доступ к фрейму или самому верхнему окну? Neokortex jQuery 7 20.12.2010 10:38
Срезание дива по диагонали Acrossfy jQuery 15 15.10.2010 11:00
Доступ к локальному котексту Aleko Общие вопросы Javascript 2 28.04.2010 12:46