Это именно то, как это работает для меня.Обратите внимание на первую строку, которая назначает обработчик кликов, чтобы блокировать поведение по умолчанию при нажатии на ссылку ...
$(document).ready(function(){
$('[class^="jp-"]').click(function (e) { e.preventDefault(); });
$("#jquery_jplayer").jPlayer({
ready: function () {
$(this).jPlayer("setMedia", {
mp3: "/music/mySong.mp3"
});
},
swfPath: "/jPlayer/js",
supplied: "mp3",
volume: 0.6
});
});
В вашем случае вы можете попробовать следующее.preventDefault()
должен быть первым элементом в функции ...
$(document).ready(function(){
$("#jquery_jplayer").jPlayer({
ready: function (event) {
$('.voice').click(function(e) {
e.preventDefault(); // <-- first item in this function
$(this).jPlayer("setFile", $(this).attr('rel')).jPlayer("play");
});
},
solution: "flash, html", // Flash with an HTML5 fallback.
swfPath: "/media/js/jPlayer/",
wmode: "window"
});
});
Также обратите внимание, что в исходной публикации вы либо сделали простую опечатку в SO, либо в результате ошибки программирования.Существует дополнительный набор закрывающих скобок, });
или вы не поместили / пропустили начальную строку document.ready
.
$("#jquery_jplayer").jPlayer({
ready: function (event) {
$('.voice').click(function(e) {
$(this).jPlayer("setFile", $(this).attr('rel')).jPlayer("play");
e.preventDefault();
});
},
solution: "flash, html", // Flash with an HTML5 fallback.
swfPath: "/media/js/jPlayer/",
wmode: "window"
});
}); // <--- remove extra closing brackets