所以,我正在尝试在我的网站上创建一个音乐播放列表。当我点击不同的文字时,我有音乐播放的地方。但是,我希望它能够让我无法进入播放该歌曲的页面。我尝试使用e.PrevetnDefault()
来实现此功能,希望在单击文本时取消打开新页面的页面。但是,它不起作用。每当我点击文本时,都会打开一个页面。
看看我的代码:
<script>
audioPlayer();
function audioPlayer() {
var currentSong = 0;
$("audioPlayer")[0].src = $("DJList li a")[0];
$("audioPlayer")[0].play();
$("DJList li a").click(function(e) {
e.preventDefault();
$("#audioPlayer")[0].src = this;
$("audioPlayer")[0].play();
$("#DJList li a").removeClass("current-song");
currentSong = $(this).parent().index();
$(this).parent.addClass("current-song");
});
$("audioPlayer")[0].addEventListener("ended", function() {
currentSong++
if (currentSong == $("DJList li a").length)
currentSong = 0;
$("DJList li").removeClass("current-song");
$("DJList li:eq(" + currentSong + ")").addClass("current-song");
$("audioPlayer")[0].src = $("DJList li a")[currentSong].href;
$("audioPlayer")[0].play();
});
</script>
答案 0 :(得分:0)
$("DJList li a").click(function(e) {
不会选择您的链接,因为DJList
不是任何会被选中的元素名称。
因此你的preventDefault甚至没有被调用。
将其更改为$("#DJList li a")
可能会对初学者有所帮助。你在多个地方犯了同样的错误。