html5 返回 触发事件,如何在Audio完成播放HTML5时触发JQuery事件(How to trigger a JQuery event when Audio has finished pla...

这篇博客探讨了如何在HTML5 audio元素播放完毕时利用JQuery触发事件。作者分享了如何监听'ended'事件,当音频播放结束时更改按钮文本。解决方案涉及为audio元素添加事件监听器并在事件触发时更新UI。

摘要生成于 C知道 ,由 DeepSeek-R1 满血版支持, 前往体验 >

如何在Audio完成播放HTML5时触发JQuery事件(How to trigger a JQuery event when Audio has finished playing HTML5)

我试图了解当音频停止播放时如何触发事件。 我正在使用HTML5 标记。 到目前为止,我可以通过duration属性获取音频的duration ,但目前我无法做到这一点。 我想要做的就是将一个“播放”字符串传递给一个html()方法,以便在我的音频播放完毕时不会显示“暂停”。

切换功能:

$("#toggleButton").on("click", function(evt) {

if(audio.paused) {

audio.play();

$(this).html("Pause");

}

else {

audio.pause();

$(this).html("Play");

}

});

我也在努力寻找有关音频方法和属性的文档。 我试着在JQuery和Mozilla网络上搜索“音频”,他们没有返回任何东西。

I'm trying to fathom out how to trigger an event when my audio has stopped playing. I am using the HTML5 tag. So far I can get the audio to give me its duration using the duration property, but I'm unable to do much with this at the moment. All's I want to do is pass a "play" string into a html() method so it doesn't keep displaying "pause" when my audio is finished playing.

Toggle function:

$("#toggleButton").on("click", function(evt) {

if(audio.paused) {

audio.play();

$(this).html("Pause");

}

else {

audio.pause();

$(this).html("Play");

}

});

I am also struggling to find documentation regarding audio methods and properties. I've tried searching "audio" on both the JQuery and Mozilla network and they return nothing back.

原文:https://stackoverflow.com/questions/19504903

更新时间:2020-09-17 14:09

最满意答案

尝试这个:

audio.addEventListener('ended', function(){

$("#toggleButton").html("Play");

});

Try this:

audio.addEventListener('ended', function(){

$("#toggleButton").html("Play");

});

相关问答

编辑 :只是为了显示小提琴中使用的方法: App.NextSongOnEndedView = Ember.View.extend({

// hook in here and subscribe to the ended event

didInsertElement: function() {

var self = this;

var player = this.$('audio')[0];

player.addEventListener('ended', funct

...

这是因为您的类选择器对于jQuery同时触发它们的文件都是相同的。 为每个源定义一个唯一的源ID,并在jQuery中使用id作为选择器来播放这些文件。 Turns out this was the result of using Slick Slider in infinite mode. I'm not sure exactly what the fix is if you need to keep it in infinite mode, but changing the slider to

...

我最近在做类似的事情,发现你无法使用trigger事件来播放音频。 我正在努力 $('#btn').click(function(){

myAudioControl.play();

});

$('#btn').trigger('click');

此代码永远不会在iOS5上运行,因为它需要对元素进行物理点击。 这里有一个很好的解决方案通过iOS 5 HTML5应用程序中的javascript事件播放声音我与之合作找到问题的解决方案。 当用户点击按钮时,我基本上让音频播放静音mp3文件,然

...

尝试这个: audio.addEventListener('ended', function(){

$("#toggleButton").html("Play");

});

Try this: audio.addEventListener('ended', function(){

$("#toggleButton").html("Play");

});

这里有一个处理ended事件的HTML5播放列表示例,如果有帮助的话? 在你的事件处理程序中引用this ,但在这个上下文中, this指的是捕获事件的DOM元素,即你的audio元素..试试这个: function myPlaylist(){

var self = this;

var player = document.createElement('audio');

this.next = function (){

// Picks next song

...

显然媒体事件(那些特别属于音频或视频的事件,如play , pause , timeupdate等)不会被冒泡。 你可以在这个问题的答案中找到解释。 所以使用他们的解决方案,我捕获了play事件, jQuery.createEventCapturing(['play']);

jQuery('body').on('play', 'audio', function(){... // now this would work.

JS Bin演示 事件捕获的代码(取自其他SO答案): jQue

...

尝试这样的事情。 function listen(evnt, elem, func) {

if (elem.addEventListener) // W3C DOM

elem.addEventListener(evnt, func, false);

else if (elem.attachEvent) { // IE DOM

var r = elem.attachEvent("on" + evnt, func);

return r;

...

IE和Safari不支持ogg格式(除非您安装插件)。 资源 桌面 Chrome Firefox (Gecko) Internet Explorer Opera Safari

(Yes) 3.5 (1.9.1) Not supported 10.50 3.1 (must be installed separately, e.g. XiphQT)

移动 Safari Mobile

Not supported

尝试将URL更

...

您正在使用jQuery的trigger()来触发未在发布的代码中定义的事件,因此很难真正说出'stop'是什么,但作为一般规则,HTML5 Audio没有stop()函数,仅play()和pause(),重置音频只需再次定义源或将.currenttime设置为零,如下所示: var audioElm = document.getElementById('soundTour');

audioElm.src = 'myaudio.mp3';

audioElm.load();

要么 v

...

您可以为已结束和播放事件添加事件侦听器。 另外,为什么要通过javascript创建音频标签? 我只想创建一个空的隐藏音频标签:

你有两个选择: 音频播放/停止时禁用/启用按钮/链接(首选imho) 在播放时忽略点击 然后为它添加两个eventlisteners: var playing = false;

$('#myAudio').on('playing', function() {

pl

...

### 中职学校网络安全理论课程大纲和教学内容 #### 2025年中职学校网络安全理论课程概述 随着信息技术的发展网络安全已成为信息化社会的重要组成部分。为了适应这一需求,中职学校的网络安全理论课程旨在培养学生具备基本的网络安全意识和技术能力,使学生能够在未来的职业生涯中应对各种网络威胁。 #### 教学目标 该课程的目标是让学生理解网络安全的基本概念、原理和技术手段,掌握常见的安全防护措施,并能应用这些知识解决实际问题。具体来说,学生应达到以下几点: - 掌握计算机网络基础架构及其工作原理; - 理解信息安全管理体系框架及其实现方法; - 学习密码学基础知识以及加密算法的应用场景; - 能够识别常见攻击方式并采取有效防御策略; #### 主要章节安排 ##### 第一章 计算机网络与互联网协议 介绍计算机网络的基础结构和服务模型,重点讲解TCP/IP五层体系结构中的各层次功能特点,特别是传输控制协议(TCP)和用户数据报协议(UDP)[^1]。 ##### 第二章 信息系统安全保障概论 探讨信息系统的脆弱性和风险评估机制,阐述如何通过物理隔离、访问控制等措施来保障系统安全性。 ##### 第三章 密码学入门 讲述对称密钥体制和非对称密钥体制的区别与发展历程,分析公钥基础设施(PKI)的工作流程及其重要性。 ##### 第四章 防火墙技术与入侵检测系统(IDS) 解释防火墙的作用原理及其分类形式(包过滤型、代理服务器型),讨论IDS的功能特性及部署建议。 ##### 第五章 Web应用程序安全 针对Web环境下的特殊挑战展开论述,如SQL注入漏洞利用、跨站脚本(XSS)攻击防范等内容。 ##### 实践环节设置 除了上述理论部分外,在每学期还设有专门实践课时用于模拟真实环境中可能遇到的安全事件处理过程,增强学生的动手操作能力和应急响应水平。 ```python # Python代码示例:简单的MD5哈希函数实现 import hashlib def md5_hash(text): hasher = hashlib.md5() hasher.update(text.encode('utf-8')) return hasher.hexdigest() print(md5_hash("example")) ```
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值