tuareg не все так просто. навесить on я то могу на любой event. Не в этом проблема.
Как я уже говорил $(this) не передать, а значит работа с текущим объектом крайне ограничена.
Дальше...
UI это класно, но оно нафиг мне не впилось.
CODE ( javascript):
скопировать код в буфер обмена
$('.play_track').livequery(function(){ var _this = $(this); _this.fancybox({ href: '<?php echo JURI::base(); ?>index.php?option=com_component&controller=music&task=loadPlayer&format=raw&url='+_this.prop('href'), type: 'iframe', height: 25, titlePosition: 'inside', onComplete: function(){ _this.css('font-weight', 'bold'); }, onClosed: function() { _this.css('font-weight', 'normal'); } }); });
это обработчик. Сам контент
CODE ( javascript):
скопировать код в буфер обмена
$('a.show_tracks').click(function(e){ e.preventDefault(); var row = $(this).closest('tr'); // Check if next row with tracks don't exist and get content if (!row.next('tr').hasClass('tracklist')) { $.getJSON($(this).prop('href'), function(response){ if (response.length > 0) { 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">'; $.each(response, function(key, value){ 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>'; html += '<div class="track_row"><strong>'+value.cd_number+'.'+value.id+'.</strong> '+a+' - '+value.length+'</div>'; }); html += '</td></tr>'; row.after(html); } else { $('#adminForm').aurora({ text: '<?php echo JText::_('KA_MUS_ALBUMS_LOAD_TRACKLIST_EMPTY'); ?>', create_before: true, leave_only_first: true }); } }); } else { $('.tracklist').slideToggle(); } });
Если через live сделать, то срабатывает только после второго клика на ссылку. Если через on, то срабатывает при клике на document.
|