Warning: Cannot use a scalar value as an array in /home/admin/public_html/forum/include/fm.class.php on line 757

Warning: Invalid argument supplied for foreach() in /home/admin/public_html/forum/include/fm.class.php on line 770

Warning: Invalid argument supplied for foreach() in /home/admin/public_html/forum/topic.php on line 737
Форумы портала PHP.SU :: JavaScript выведенный через AJAX не работает. [2]

 PHP.SU

Программирование на PHP, MySQL и другие веб-технологии
PHP.SU Портал     На главную страницу форума Главная     Помощь Помощь     Поиск Поиск     Поиск Яндекс Поиск Яндекс     Вакансии  Пользователи Пользователи


 Страниц (2): « 1 [2]   

> Без описания
Viper
Отправлено: 23 Декабря, 2011 - 14:30:05
Post Id



Активный участник


Покинул форум
Сообщений всего: 4555
Дата рег-ции: Февр. 2007  
Откуда: Симферополь


Помог: 98 раз(а)




tuareg не будет оно так работать. Ещё раз говорю $(this) в on() не является ссылкой на текущий объект.


-----
Список фильмов с описанием, блекджеком и... для Joomla? -> https://киноархив[dot]com
Демо нового движка для сайта php.su -> php[dot]su, проект на гитхабе
 
 Top
tuareg
Отправлено: 23 Декабря, 2011 - 14:39:28
Post Id


Участник


Покинул форум
Сообщений всего: 1234
Дата рег-ции: Июнь 2010  


Помог: 69 раз(а)




Viper пишет:
tuareg не будет оно так работать. Ещё раз говорю $(this) в on() не является ссылкой на текущий объект.

Давно?
http://jsfiddle[dot]net/tuareg/9yH6f/

(Отредактировано автором: 23 Декабря, 2011 - 14:50:16)

 
 Top
Viper
Отправлено: 23 Декабря, 2011 - 16:06:06
Post Id



Активный участник


Покинул форум
Сообщений всего: 4555
Дата рег-ции: Февр. 2007  
Откуда: Симферополь


Помог: 98 раз(а)




tuareg и толку? Это же проделайте для контента полученого ajax'ом или созданого "на лету" забиндив обработку плагином.


-----
Список фильмов с описанием, блекджеком и... для Joomla? -> https://киноархив[dot]com
Демо нового движка для сайта php.su -> php[dot]su, проект на гитхабе
 
 Top
tuareg
Отправлено: 23 Декабря, 2011 - 16:25:16
Post Id


Участник


Покинул форум
Сообщений всего: 1234
Дата рег-ции: Июнь 2010  


Помог: 69 раз(а)




Viper пишет:
tuareg и толку? Это же проделайте для контента полученого ajax'ом или
созданого "на лету" забиндив обработку плагином.

C ajax все тоже самое.
Вот простой пример.
есть div id="content". В него подгружается контент. Ну так и вешайте через него через on все обработчики, котрые надо.
Типа
CODE (javascript):
скопировать код в буфер обмена
  1.  
  2. $('#content').on('click').....
  3.  

Все события вешайте на постоянный элемент. И проблем не будет. Если вообще ни как то вешайте через $(document)
А на счет плагина, я так и не понял, что не получается. я с плагинами как-то не очень дружу
мне больше нравятся виджеты. Там есть метод creat() и рефреш. В принципе если это Ваш плагин, то можно создать метод рефреш самому, да и к не своему дописать.
Можно вообще покопаться в исходник какого-нибудь UI, все это решается.
Т.е если не сложно выложите код, и что конкретно у Вас не получилось передать. Я сам ни разу с такими проблемами не сталкивался. Желательно с разметкой HTML
 
 Top
Viper
Отправлено: 26 Декабря, 2011 - 08:01:08
Post Id



Активный участник


Покинул форум
Сообщений всего: 4555
Дата рег-ции: Февр. 2007  
Откуда: Симферополь


Помог: 98 раз(а)




tuareg не все так просто. навесить on я то могу на любой event. Не в этом проблема.
Как я уже говорил $(this) не передать, а значит работа с текущим объектом крайне ограничена.
Дальше...
UI это класно, но оно нафиг мне не впилось.

CODE (javascript):
скопировать код в буфер обмена
  1. $('.play_track').livequery(function(){
  2.         var _this = $(this);
  3.  
  4.         _this.fancybox({
  5.                 href: '<?php echo JURI::base(); ?>index.php?option=com_component&controller=music&task=loadPlayer&format=raw&url='+_this.prop('href'),
  6.                 type: 'iframe',
  7.                 height: 25,
  8.                 titlePosition: 'inside',
  9.                 onComplete: function(){ _this.css('font-weight', 'bold');   },
  10.                 onClosed: function() {  _this.css('font-weight', 'normal'); }
  11.         });
  12. });


это обработчик. Сам контент

CODE (javascript):
скопировать код в буфер обмена
  1. $('a.show_tracks').click(function(e){
  2.         e.preventDefault();
  3.  
  4.         var row = $(this).closest('tr');
  5.  
  6.         // Check if next row with tracks don't exist and get content
  7.         if (!row.next('tr').hasClass('tracklist')) {
  8.                 $.getJSON($(this).prop('href'), function(response){
  9.                         if (response.length > 0) {
  10.                                 var html = '<tr class="tracklist"><td align="center" valign="top"><img src="<?php echo JURI::base(); ?>components/com_component/assets/images/icons/arrow_refresh_small.png" border="0" class="tracklistreload" /></td><td colspan="4">';
  11.  
  12.                                 $.each(response, function(key, value){
  13.                                         var a = value.url == '' ? '+value.title+' : '<a href="'+value.url+'" class="play_track" title="'+value.cd_number+'.'+value.id+'. '+value.title+' - '+value.length+'">'+value.title+'</a>';
  14.                                         html += '<div class="track_row"><strong>'+value.cd_number+'.'+value.id+'.</strong> '+a+' - '+value.length+'</div>';
  15.                                 });
  16.  
  17.                                 html += '</td></tr>';
  18.                                 row.after(html);
  19.                         } else {
  20.                                 $('#adminForm').aurora({
  21.                                         text: '<?php echo JText::_('KA_MUS_ALBUMS_LOAD_TRACKLIST_EMPTY'); ?>',
  22.                                         create_before: true,
  23.                                         leave_only_first: true
  24.                                 });
  25.                         }
  26.                 });
  27.         } else {
  28.                 $('.tracklist').slideToggle();
  29.         }
  30. });


Если через live сделать, то срабатывает только после второго клика на ссылку. Если через on, то срабатывает при клике на document.


-----
Список фильмов с описанием, блекджеком и... для Joomla? -> https://киноархив[dot]com
Демо нового движка для сайта php.su -> php[dot]su, проект на гитхабе
 
 Top
armancho7777777 Супермодератор
Отправлено: 26 Декабря, 2011 - 15:27:37
Post Id



Активный участник


Покинул форум
Сообщений всего: 4526
Дата рег-ции: Февр. 2011  
Откуда: Москва


Помог: 221 раз(а)




tuareg пишет:
я с плагинами как-то не очень дружу

А зачем советуете тогда то, о чём не знаете?
http://forum.php.su/topic.php?fo...0&topic=3429
(Добавление)
Viper, загляните пожалуйста сюда в тему:
http://forum.php.su/topic.php?fo...0&topic=3429
Может подскажете ответ.
 
 Top
Страниц (2): « 1 [2]
Сейчас эту тему просматривают: 0 (гостей: 0, зарегистрированных: 0)
« JavaScript & VBScript »


Все гости форума могут просматривать этот раздел.
Только зарегистрированные пользователи могут создавать новые темы в этом разделе.
Только зарегистрированные пользователи могут отвечать на сообщения в этом разделе.
 



Powered by PHP  Powered By MySQL  Powered by Nginx  Valid CSS  RSS

 
Powered by ExBB FM 1.0 RC1. InvisionExBB