一次调用的JavaScript代码不会再次执行
我不认为这是一个合适的标题,但我会在这里更好地解释。 我有一个事件发生在点击页面底部显示一个粘性页脚时。在那里你可以看到一个HTML5音频播放器和一个关闭按钮。当我点击关闭按钮时,什么也没发生。浏览器控制台中没有错误。 看看代码: $document.readyFunction{ $.playButton.clickfunction{ //获取按钮的值 var val=$this.val; //粘贴音频播放器 $'audioContainerBottom'.htmlshow\u audio\u playerval; $'navbarBottomFixed'。显示; 音频路径https://www.website.com/uploads/files/“+val; audio_core=$'audio_core'.attr'src',audio_路径[0]; 音频播放; $this.hide; $.stopButton.show; }; $.stopButton.clickfunction{ var val=$this.val; $'navbarBottomFixed'。隐藏; 音频路径https://www.website.com/uploads/files/“+val; audio_core=$'audio_core'.attr'src',audio_路径[0]; 音频_core.stop; $.stopButton.hide; $.playButton.show; }; $.closeBottomSidebar.ClickFunction{ $'navbarBottomFixed'。隐藏; 警报“关闭!”; }; }; 功能显示\音频\播放器音频{ var src='1〕https://www.website.com/uploads/files/“+音频; 音频=“”+ + “您的浏览器不支持音频元素。”+ + + + "关闭",; 返回音频; } .停止按钮{ 显示:无; } 玩家容器{ 显示:无; } 导航塔固定{ 显示:无; }一次调用的JavaScript代码不会再次执行,javascript,jquery,callback,hide,Javascript,Jquery,Callback,Hide,我不认为这是一个合适的标题,但我会在这里更好地解释。 我有一个事件发生在点击页面底部显示一个粘性页脚时。在那里你可以看到一个HTML5音频播放器和一个关闭按钮。当我点击关闭按钮时,什么也没发生。浏览器控制台中没有错误。 看看代码: $document.readyFunction{ $.playButton.clickfunction{ //获取按钮的值 var val=$this.val; //粘贴音频播放器 $'audioContainerBottom'.htmlshow\u audio\u
关闭按钮由show_audio_player功能动态创建。它在页面加载时不存在 因此,这里的单击处理程序:
$(".closeBottomSidebar").click(function(e) {
$('#navbarBottomFixed').hide();
alert('Closed!');
});
未注册,因为$.closeBottomSidebar不返回任何元素
解决方案是使用:
因此,单击处理程序被附加到audioContainerBottom,并将事件委托给.closeBottomSidebar(如果在事件发生时存在)。。。即使页面加载中不存在此函数。停止是一个函数,您需要运行它,audio\u core.stopTypeError:audio\u core.stop不是一个函数您不了解我的问题。代码工作正常,前两个按钮工作正常,但此代码不会关闭静态底部导航栏:$closeBottomSidebar.clickfunction{$'navbarBottomFixed.hide;};如果你不理解我刚刚传递的代码,为什么还要发表评论?当您按下播放按钮时,代码运行:$'navbarBottomFixed'。显示;事件处理程序声明中的:.closeBottomSidebar与HTML中的:.closeBottomSidebar不同。非常感谢。那是我的问题。
$("#audioContainerBottom").on("click",".closeBottomSidebar",function(e) {
$('#navbarBottomFixed').hide();
alert('Closed!');
});