链接仍然使用preventDefault()函数打开新窗口

时间:2019-05-22 17:37:37

标签: javascript jquery wordpress preventdefault

我正在将这个简单的音频播放器用于音乐网站。它在本地运行正常,但在网站上托管时却无法运行。

当我单击另一首歌曲时,该程序安装在网站上,仍然会打开一个新窗口。我对JS和jquery仅有一点经验,并且尝试过更改e。事件。但这没有用。 JS位于正文中的脚本标签中,并且没有单独链接。我在哪里放置console.log()函数以测试preventDefault()函数是否运行?

在此先感谢您的帮助。

这是我用于音频播放器的脚本

<script src="https://code.jquery.com/jquery-2.2.0.js"></script>
<script type="text/javascript>
 function audioPlayer(){
        var currentSong = 0;
        $("#audioPlayer-lk")[0].src = $("#playlist-lk li a")[0];
        $("#audioPlayer-lk")[0].play();
        $("#playlist-lk li a").click(function(e){
           e.preventDefault(); 
           $("#audioPlayer-lk")[0].src = this;
           $("#audioPlayer-lk")[0].play();
           $("#playlist-lk li").removeClass("current-song-lk");
            currentSong = $(this).parent().index();
            $(this).parent().addClass("current-song-lk");
        });

        $("#audioPlayer-lk")[0].addEventListener("ended", function(){
           currentSong++;
            if(currentSong == $("#playlist-lk li a").length)
                currentSong = 0;
            $("#playlist-lk li").removeClass("current-song-lk");
            $("#playlist-lk li:eq("+currentSong+")").addClass("current-song-lk");
            $("#audioPlayer-lk")[0].src = $("#playlist li a")[currentSong].href;
            $("#audioPlayer-lk")[0].play();
        });
    }

  audioPlayer(); </script>

1 个答案:

答案 0 :(得分:0)

您需要使用$(document).ready()函数包装audioPlayer()函数,如下所示:

$(document).ready(function(){

audioPlayer();

})