我正在开发音乐播放器,我相信我的阻止默认设置不起作用。当我点击播放时一切正常。该按钮切换为暂停按钮并播放音乐。但是,当我点击暂停时,页面会刷新。有什么想法吗?
谢谢!
play.on('click', function (e) {
e.preventDefault();
song.play();
$(play).replaceWith('<a class="button gradient" id="pause" href="" title=""></a>');
container.addClass('containerLarge');
cover.addClass('coverLarge');
});
pause.on('click', function (e) {
e.preventDefault();
container.removeClass('containerLarge');
cover.removeClass('coverLarge');
song.pause();
$('#pause').replaceWith('<a class="button gradient" id="play" href="" title=""></a>');
});
最佳答案
您正在用新元素替换这些元素。事件处理程序绑定(bind)到旧元素,而不是新元素,并且存储在变量play
和pause
中的引用将是旧的分离的DOM 元素也是如此。
您需要保留这些元素,并以编程方式隐藏/显示它们,而不是完全删除它们并用其他元素替换它们:
play.on('click', function (e) {
e.preventDefault();
play.hide();
pause.show();
});
关于javascript - 防止默认不起作用,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/20724840/