Warning: file_get_contents(/data/phpspider/zhask/data//catemap/9/javascript/454.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
一次调用的JavaScript代码不会再次执行_Javascript_Jquery_Callback_Hide - Fatal编程技术网

一次调用的JavaScript代码不会再次执行

一次调用的JavaScript代码不会再次执行,javascript,jquery,callback,hide,Javascript,Jquery,Callback,Hide,我不认为这是一个合适的标题,但我会在这里更好地解释。 我有一个事件发生在点击页面底部显示一个粘性页脚时。在那里你可以看到一个HTML5音频播放器和一个关闭按钮。当我点击关闭按钮时,什么也没发生。浏览器控制台中没有错误。 看看代码: $document.readyFunction{ $.playButton.clickfunction{ //获取按钮的值 var val=$this.val; //粘贴音频播放器 $'audioContainerBottom'.htmlshow\u audio\u

我不认为这是一个合适的标题,但我会在这里更好地解释。 我有一个事件发生在点击页面底部显示一个粘性页脚时。在那里你可以看到一个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/“+音频; 音频=“”+ + “您的浏览器不支持音频元素。”+ + + + "关闭",; 返回音频; } .停止按钮{ 显示:无; } 玩家容器{ 显示:无; } 导航塔固定{ 显示:无; }
关闭按钮由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!');
});