我正在制作一个音乐播放器,我相信我的防止默认不起作用。当我点击播放时一切正常。按钮切换到暂停按钮,播放音乐。但是当我点击暂停时页面刷新。有什么想法吗?
谢谢!
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>');
});
答案 0 :(得分:4)
您正在用新的元素替换元素。事件处理程序绑定到旧元素,而不是新元素,存储在变量play
和pause
中的引用也将是旧的分离DOM元素。< / p>
你需要单独留下元素,并以编程方式隐藏/显示它们,而不是完全删除它们并用其他元素替换它们:
play.on('click', function (e) {
e.preventDefault();
play.hide();
pause.show();
});
答案 1 :(得分:1)
$('body').on('click','#pause',function(e){
$('body').on('click','#play',function(e){
您没有提供HTML,但这些应该有用。