在javascript中将事件侦听器添加到音频HTML5标签

2022-01-15 00:00:00 audio event-handling javascript html

您好,我正在 Javascript 中创建一个新的音频标签元素,代码如下:

Hi I'm creating a new audio tag element in Javascript this is the code:

var audio = document.createElement("audio");
audio.setAttribute("id","myid");
audio.setAttribute("autoplay","autoplay");
document.body.appendChild(audio);

在将它附加到正文之前,我想放置一个 onended 事件处理程序,我尝试过这样的事情:

before appending it to the body, I'd like to place an onended event handler, I tried something like this:

audio.onended = foo;

其中 foo 类似于:function foo(){alert('Hola')}

where foo is something like: function foo(){alert('Hola')}

audio.setAttribute("onended","foo()");

在这两种情况下它都不起作用.在第一种情况下,音频标签是在没有任何 onended 事件处理程序的情况下附加的;而在第二种情况下,附加了音频标签,onended 事件在属性上,但它不会触发.

in both case it didn't work. In the first case the audio tag is appended without any onended event handler; while in the second case the audio tag is appended, the onended event is on the attributes but it does not fire.

有人知道吗?

提前致谢.

-z-

推荐答案

试试:

audio.addEventListener('ended', foo);

这是添加事件监听器的正确标准方法.

This is the correct and standard method to add event listeners.

相关文章