Добавление прослушивателя событий в аудиотег HTML5 в javascript

Привет, я создаю новый элемент аудио тега в Javascript, это код:

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

перед добавлением его в тело, я бы хотел разместить обработчик обработанного события, я попробовал что-то вроде этого:

audio.onended = foo;

где foo - это что-то вроде: function foo() {alert ('Hola')}

и

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

в обоих случаях это не сработало. В первом случае звуковой тег добавляется без какого-либо встроенного обработчика событий; в то время как во втором случае добавляется звуковой тег, событие onended находится в атрибутах, но оно не срабатывает.

есть ли у кого-нибудь идеи?

заблаговременно.

-z -

Ответ 1

попробовать:

audio.addEventListener('ended', foo);

Это правильный и стандартный метод добавления прослушивателей событий.

Ответ 2

Во-первых, убедитесь, что перед тем, как использовать его, есть ли аудио-элемент, предположим, что HTMLAudioElement является аудио, вы можете проверить его следующим образом: audio.hasOwnProperty('onended')

На основе моего браузера он не поддерживается.