所以,我正在尝试在我的网站上创建一个音乐播放列表。当我点击不同的文本时,我有音乐播放的地方。但是,我希望它不会将我带到播放歌曲的页面。我尝试使用 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>
最佳答案
$("DJList li a").click(function(e) {
不会选择您的链接,因为 DJList
不是任何元素名称被选中。
因此,您的 PreventDefault 甚至没有被调用。
对于初学者来说,将其更改为 $("#DJList li a")
可能会可行。您在多个地方都有同样的错误。
关于javascript - 单击文本时 e.PreventDefault() 不起作用,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/43836208/