Javascript.RU

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

Не работает код при добавление новых элементов
Есть такой код:
<script type="text/javascript">
      $(document).ready(function() {
        $('a[rel*=facebox].facebox();
      });
    </script>

Он замечательно работает, все Ок.

Но когда я добавляю новые ссылки на страницу он отказывается их обратабывать.

Добавляю таким образом:
$("<li><\/li>").appendTo("#images").html("<a rel=\"facebox\" href=\"images.jpg\">images<\/a>");


Подскажите что делать?
Ответить с цитированием
  #2 (permalink)  
Старый 12.05.2011, 16:47
Человек
Отправить личное сообщение для 0931454574 Посмотреть профиль Найти все сообщения от 0931454574
 
Регистрация: 10.03.2011
Сообщений: 305

Как вариант вешать напрямую на вновь добавленные элементы нужное событие.
например
<a href="#" onClick(HelloFunction())>Hello</a>

тоесть запускать будет нужную функцию.
Как минимум, а вообще не работает почему сказать не могу , надо пробовать, если вариант 1 не подойдет.
__________________
XYZ
Ответить с цитированием
  #3 (permalink)  
Старый 12.05.2011, 16:51
Профессор
Отправить личное сообщение для dima85 Посмотреть профиль Найти все сообщения от dima85
 
Регистрация: 14.03.2010
Сообщений: 194

Может еще есть какие-то варианты?
Ответить с цитированием
  #4 (permalink)  
Старый 12.05.2011, 17:07
Человек
Отправить личное сообщение для 0931454574 Посмотреть профиль Найти все сообщения от 0931454574
 
Регистрация: 10.03.2011
Сообщений: 305

а что если попробовать так.
После добавления нового элемента запускать функцию поиска всех ссылок с нужным параметрами , заодно сразу посмотришь отлавливается ли вновьдобавленная.
Так думаю будет ок.

Короче ("<li><\/li>").appendTo("#images").html("<a rel=\"facebox\" href=\"images.jpg\">images<\/a>");
сделала

А ПОТОМ выбираешь все ссылки со своим релом и в each() перезаписываешь обработчик)

Но я не знаю чем неугоден вариант 1
__________________
XYZ
Ответить с цитированием
  #5 (permalink)  
Старый 12.05.2011, 17:45
Человек
Отправить личное сообщение для 0931454574 Посмотреть профиль Найти все сообщения от 0931454574
 
Регистрация: 10.03.2011
Сообщений: 305

Как я мог забыть.
Нужно при создании использовать live();

Вот пример

$('#clicker').live("click", function(){
      И здесь то что будет обработчиком  на имеющиеся и добавленные элементы
    });


Пожалуйста отпишитесь с результатом
__________________
XYZ
Ответить с цитированием
  #6 (permalink)  
Старый 12.05.2011, 22:15
Аватар для walik
Профессор
Отправить личное сообщение для walik Посмотреть профиль Найти все сообщения от walik
 
Регистрация: 09.11.2009
Сообщений: 1,101

Сообщение от dima85
Но когда я добавляю новые ссылки на страницу он отказывается их обратабывать.
Правильно, когда вы вешали событие, этих ссылок еще не было. При добавление ссылок на страницу, им тоже вешайте событие.
__________________
"Всегда пишите код так, будто сопровождать его будет склонный к насилию психопат, который знает, где вы живете."
Мой сертификат :-D клацай
Ответить с цитированием
  #7 (permalink)  
Старый 12.05.2011, 23:05
Профессор
Отправить личное сообщение для dima85 Посмотреть профиль Найти все сообщения от dima85
 
Регистрация: 14.03.2010
Сообщений: 194

0931454574, к сожалению не понял ваш пример.
walik, как вешать такое событие?
Ответить с цитированием
  #8 (permalink)  
Старый 12.05.2011, 23:21
Аватар для walik
Профессор
Отправить личное сообщение для walik Посмотреть профиль Найти все сообщения от walik
 
Регистрация: 09.11.2009
Сообщений: 1,101

$("<li></li>").appendTo("#images").html('<a rel="facebox" href="images.jpg">images</a>').find('a').facebox();
__________________
"Всегда пишите код так, будто сопровождать его будет склонный к насилию психопат, который знает, где вы живете."
Мой сертификат :-D клацай
Ответить с цитированием
  #9 (permalink)  
Старый 13.05.2011, 09:57
Профессор
Отправить личное сообщение для dima85 Посмотреть профиль Найти все сообщения от dima85
 
Регистрация: 14.03.2010
Сообщений: 194

Спасибо.
Ответить с цитированием
  #10 (permalink)  
Старый 13.05.2011, 12:16
Человек
Отправить личное сообщение для 0931454574 Посмотреть профиль Найти все сообщения от 0931454574
 
Регистрация: 10.03.2011
Сообщений: 305

dima85,

Для всех тегов <a> будет обработчик на событие клик, при добавление новых <a>
они тоже будут получать обработчик.

Здесь выбирает <a> с классом GURU , но Вы можете по чем угодно выбрать.
$('a.GURU').live('click', function(){
    (this).facebox();
   });



И все будет работать.
__________________
XYZ
Ответить с цитированием
Ответ



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

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


Похожие темы
Тема Автор Раздел Ответов Последнее сообщение
не работает вперед/назад при передаче параметров странице hoid Я не знаю javascript 10 03.06.2009 16:09
при создании ссылки не работает thickbox czar jQuery 3 13.04.2009 14:25
Не работает onClick добавление тега <s> AvaGet Общие вопросы Javascript 13 09.12.2008 18:41
DatePicker не работает при сипользование innerHTML AJlekceu jQuery 2 26.10.2008 17:49
FireFox: onmouseover не работает при зажатой кнопке мыши no. Общие вопросы Javascript 4 19.08.2008 13:43