Я использую jPlayer для воспроизведения аудиофайлов.Если я использую проигрыватель для содержимого, которое является приватным, когда страница загружается, она работает без проблем.
Мне также нужно это для HTML, который вставляется AJAX.Здесь это не работает.Кажется, событие готовности не вызвано.
Я написал функцию, которая может быть выполнена с помощью click()
.Таким образом, я могу щелкнуть по нему вручную, когда HTML-код, содержащий проигрыватель, будет полностью загружен.Здесь у меня та же проблема: событие готовности не запускается.
Это моя функция, которая отлично работает на проигрывателях без вставки AJAX:
$('.jp-jplayer').each(function () {
var src = $(this).attr('data-src');
var id = $(this).attr('id');
var post_id = $(this).attr('data-id');
alert('beg');
$('#' + id).jPlayer({
ready: function () {
$(this).jPlayer('setMedia', {
mp3: "/prelisten/_lofidl/change_of_heart_full_lofi.mp3",
});
alert('#' + id);
},
swfPath: "/wp-content/themes/Dark_3Chemical_DE_mit_Pagenavi/Dark_3Chemical_DE/audioplayer/js",
//////ERRRROOOOOR
solution: "flash, html",
supplied: "mp3",
wmode: "window",
cssSelectorAncestor: "#jp_container_" + post_id,
play: function () { // To avoid both jPlayers playing together.
$(this).jPlayer("pauseOthers");
},
repeat: function (event) { // Override the default jPlayer repeat event handler
if(event.jPlayer.options.loop) {
$(this).unbind(".jPlayerRepeat").unbind(".jPlayerNext");
$(this).bind($.jPlayer.event.ended + ".jPlayer.jPlayerRepeat", function () {
$(this).jPlayer("play");
debug($(this));
});
} else {
$(this).unbind(".jPlayerRepeat").unbind(".jPlayerNext");
$(this).bind($.jPlayer.event.ended + ".jPlayer.jPlayerNext", function () {
//$("#jquery_jplayer_4858").jPlayer("play", 0);
});
}
},
});
$("#jplayer_inspector").jPlayerInspector({
jPlayer: $('#' + id)
});
});
В настоящее время я устанавливаю src вручную, чтобы исключить любые возможные ошибки здесь.
Как можноЯ запускаю эту функцию для содержимого, вставленного в AJAX?
РЕДАКТИРОВАТЬ:
Это код, который выбирает HTML, включая игроков:
$.get('/query_posts.php', {
paged: _page,
cats: cols
}, function(data) {
$('#search-results').append(data).fadeIn(300);
//create_player_scripts();
//set_players();
$('#search-results').find('input[name="cartLink"]').each(function() {
$(this).val($(this).closest('.post1').find('.post_headl a').attr('href'));
});
});