动态添加的返回false的链接在添加音频后不起作用
dynamically added links that returns false not working after adding audio
我为章节动态添加了链接,当点击时,显示章节的描述(从localStorage获取数据)
$('#chapterList #chapter_ul a').live('click', function(){
var chID = $(this).attr("id");
$('#chapterDesc p').fadeOut(300).remove();
$('<p></p>').html(localStorage.getItem(chID)).appendTo('#chapterDesc');
$('#chapterDesc p').hide();
$('#chapterDesc p').fadeIn(500);
return false;
});
上面的代码可以工作,然后我添加了在返回false行之前点击链接时播放音频的代码,
if($('#eventAudio').length>0){ //check if there is an existing #eventAudio in DOM
$('#eventAudio')[0].remove(); //removes it
}
else{
playAudio('audio/','bytes/',soundBytes,0,0); //if no existing, calls the playAudio function
}
if($('#eventAudio').length>0){//checks if there is a new #eventAudio
$('#eventAudio')[0].play();//plays it
}
playAudio函数
function playAudio(thisLoc,thisSubF,thisArray,thisMusic,looping){
$('<audio></audio>').attr('id','eventAudio').attr('src',thisLoc+thisSubF+thisArray[thisMusic]).appendTo('#mainContent');
if(looping==1){
$('#eventAudio').attr('onended','play()')
}
}
同样,代码实际上是有效的,但只有一次。下次我点击链接的时候,它们就会转到它们被链接到的页面。live('click')功能不再工作了。我已经被这个密码困了两个小时了。有人来帮忙吗?提前感谢!
EDIT:我正在Safari 5.1上测试这个
使用
从DOM中删除元素$('#eventAudio').remove();
当你使用$('#eventAudio')[0]
时,它返回DOM元素(而不是jQuery对象),它没有.remove()
方法。
所以,这一行会导致脚本失败,并且return false
永远不会执行,并且链接紧随其后。
相关文章:
- 将音频添加到我的网页
- 如何使用Bootstrap和Heroku为Rails应用程序添加隐藏的播放音频
- 使用Javascript为HTML5音频添加循环
- 正在添加音频以单击事件
- 如何通过音频切换将背景音乐添加到网页中
- 正在尝试在HTML5中添加音频元素
- WebRTC:在SDP中没有捆绑线路的音频通话中添加视频
- 使用javascript和jquery将“下一个”和“上一个”按钮添加到来自JSON的HTML5音频播放器
- 如何在花式盒子灯箱中为每张幻灯片添加音频
- 如何将淡入/淡出方法添加到 JS 音频对象
- 在chrome中动态添加的音频html无法正常播放,在Firefox中正常工作
- 向音频元素添加事件监听器;不起作用
- 网络音频Api:我如何添加一个工作卷积器
- 如何在WebRTC视频聊天中添加音频/视频静音/取消静音按钮
- Javascript添加事件侦听器以更改音频音量
- Rails4向Audio_tag添加多个音频文件
- 音频标签,点击链接时添加src
- 可以将addEventListener添加到播放的音频标签中,但不能设置onplay功能
- 动态添加的返回false的链接在添加音频后不起作用
- webRTC:稍后添加音频或使用peerJS禁用麦克风